gpt4 book ai didi

android - okhttp 多部分登录拦截器

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:10:50 26 4
gpt4 key购买 nike

我正在尝试使用 okHTTP 多部分将图像上传到服务器。服务器不接受我的请求。我的问题是我在日志拦截器中看不到我的 multi 部分,所以我无法调试。这是我使用的代码以及生成的日志猫和所需的有效负载。任何帮助表示赞赏。

            RequestBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("uploaded_file", filename, RequestBody.create(MEDIA_TYPE_PNG, sourceFile))
.addFormDataPart("flowChunkNumber", "1")
.addFormDataPart("flowCurrentChunkSize", String.valueOf(sourceFile.getTotalSpace()))
.addFormDataPart("flowChunkSize", "1048576")
.addFormDataPart("flowIdentifier", "4731-images1jpeg")
.addFormDataPart("flowFilename", "images (1).jpeg")
.addFormDataPart("flowFilename", "images (1).jpeg")
.addFormDataPart("flowRelativePath", "images (1).jpeg")
.addFormDataPart("flowTotalChunks", "1")
.build();

Request request = new Request.Builder()
.addHeader("cookie", ******* )
.url(URL_UPLOAD_IMAGE)
.post(requestBody)
.build();

HttpLoggingInterceptor logInterceptor = new HttpLoggingInterceptor();
logInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);

OkHttpClient client = new OkHttpClient
.Builder()
.addNetworkInterceptor(logInterceptor)
.build();


Response response = client.newCall(request).execute();

这是我在使用拦截器时在日志 cat 中看到的内容

D/OkHttp: --> POST https://www.appido.ir/api/profile/avatar http/1.1

D/OkHttp: Content-Type: multipart/form-data; boundary=a8028055-3a30-4942-916b-af56935e8b32

D/OkHttp: Content-Length: 14097 D/OkHttp: cookie: ************************
Domain=.appido.ir; expires=Tue, 23-Aug-2016 13:31:11 GMT; Path=/

D/OkHttp: Host: www.appido.ir

D/OkHttp: Connection: Keep-Alive

D/OkHttp: Accept-Encoding: gzip

D/OkHttp: User-Agent: okhttp/3.4.1

D/OkHttp: h������gTRC��������� lumi���� 07-25 07:47:49.163 7776-8509/com.androidbuts.uploadimage D/OkHttp: |������meas���� 07-25 07:47:49.163 7776-8509/com.androidbuts.uploadimage D/OkHttp: �������$bkpt���� 07-25 07:47:49.163 7776-8509/com.androidbuts.uploadimage D/OkHttp: �������rXYZ����

and this gibberish goes on for many lines

D/OkHttp: --> END POST (14097-byte body)

如何才能看到有意义的日志猫?我想实现这个:

------WebKitFormBoundaryJDdhM3Si8enJZABA Content-Disposition: form-data; name="flowChunkNumber"

1 ------WebKitFormBoundaryJDdhM3Si8enJZABA Content-Disposition: form-data; name="flowChunkSize"

1048576 ------WebKitFormBoundaryJDdhM3Si8enJZABA Content-Disposition: form-data; name="flowCurrentChunkSize"

23016 ------WebKitFormBoundaryJDdhM3Si8enJZABA Content-Disposition: form-data; name="flowTotalSize"

23016 ------WebKitFormBoundaryJDdhM3Si8enJZABA Content-Disposition: form-data; name="flowIdentifier"

23016-60x60music2_smalljpg ------WebKitFormBoundaryJDdhM3Si8enJZABA Content-Disposition: form-data; name="flowFilename"

60x60music2_small.jpg ------WebKitFormBoundaryJDdhM3Si8enJZABA Content-Disposition: form-data; name="flowRelativePath"

60x60music2_small.jpg ------WebKitFormBoundaryJDdhM3Si8enJZABA Content-Disposition: form-data; name="flowTotalChunks"

1 ------WebKitFormBoundaryJDdhM3Si8enJZABA Content-Disposition: form-data; name="file"; filename="blob" Content-Type: application/octet-stream

------WebKitFormBoundaryJDdhM3Si8enJZABA--

最佳答案

从 Okttp 和 Retrofit 查看分段上传内容的方法是使用 Facebook 的 Stetho,并将 StethoInterceptor 添加到 Okhttp 记录器

https://github.com/facebook/stetho

它将 Android 应用程序的网络请求放入开发机器的 chrome 检查器中。

关于android - okhttp 多部分登录拦截器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38563394/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com