如何阻止 OkHttp 在 Android 中记录多部分/表单数据上传

Ale*_*lex 3 android android-studio okhttp retrofit2

我已经成功实现了上传多部分/表单数据文件的网络请求。大概是由于我们在 OkHttp 客户端上设置的日志记录级别,正在记录文件流。这通常不会成为问题,但日志输出的长度和文件的二进制性质导致 logcat 崩溃:

\n\n
2020-05-05 14:29:54.112 17172-17273/com.mobile.qa D/OkHttp: --> POST https://some.url.com/messages/attachments/add\n2020-05-05 14:29:54.112 17172-17273/com.mobile.qa D/OkHttp: Content-Type: multipart/form-data; boundary=a95001c6-60d9-45d7-ae12-2bcc469932ba\n2020-05-05 14:29:54.113 17172-17273/com.mobile.qa D/OkHttp: Content-Length: 1560240\n2020-05-05 14:29:54.113 17172-17273/com.mobile.qa D/OkHttp: Authorization: Bearer 010DB4521D02851702F831C178A3C95813FC2A8CEC8765A3E0F9544CB70DCA14CDC31CB08F4255259A9484D563A6CB423ABE018275CBE24C967E9560B590A5D4F73AE517E37EC3B72D74C8A14DF3F73C8EEF6F77CB4D8A74BB0DF8710C696E75F9B2357D5FBB57C8EC1E49B4CCCB51B1E78B1018866F3BB3E81188AECC6932B511CD025EDD7074CEB40B00B0655030ACB0BA9C51573B56AF7BC39310835EF24907F0A47B8A469A48596ACDFA55BB8924DCF7D1AE455B9EC029F3F3EAC1255D4F8ADB044EBC71545E5E330A90B7FD0A1C0DF0DF416CDBEE32BD5F1E9370000AAE2F6ED367C640204DF0A962CE4F0807F32F7CB9B95FD80A7E45B8866FD4516D7ED77A3740F8D6CCEBF2434D26915AF69DC73515C48398C2510C981AA2A96B230A2FBBC3040179CB85565B1E31E1F960407831F9B03BE29225EFF874DED24DABD50B56B2AEE28B6639D33947FBFCEC2EA3B083B4820948449C8B67913CF680B3C3B0C69A73C266765BA9A5A18C0A87BF24EC23B8F8EF66A5FA9A7A90515ECEFC475536B6CF335B8A520452F8F0244EF43A581BC89223814DC687533EE06662113C28D0E7A9B176CC40E610455FC4BB53AF8B8F7BC42E6EB2B3250EEB98B72C99BCBBB6F50AA587CA1BE0BD833021F20F77C04458475DAB72C7EE5561F3A5E8AC44FAE267E614E8604B36808E70CB2BA44BE7BF3707DE945A51D8DD269FF5E4FC2330A8421F5928DD318224FD90F6C481FB638BBE15C4E626B4D44C0B6975C00A24E751926A765F072FC19FA9E5387CEFCE1EAE5D8C2072B01FC1CCAFEB1E975C39D7BD66DA4B16ACA6518946915AA5D43F8787F6DE64FE9BAA9234C9620B4E00D9BB33C460CC\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: --a95001c6-60d9-45d7-ae12-2bcc469932ba\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: Content-Disposition: form-data; name="attachmentUpload"; filename="with_extension.pdf"\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: Content-Type: application/pdf\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: Content-Length: 1560010\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: %PDF-1.3\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: %\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: 4 0 obj\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: << /Length 5 0 R /Filter /FlateDecode >>\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: stream\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: x\xef\xbf\xbd\xef\xbf\xbd\xdd\x8e\\7r\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdS\xef\xbf\xbd\xef\xbf\xbdq\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdG\xef\xbf\xbd6\xef\xbf\xbdz\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdX{\xef\xbf\xbdB;\xef\xbf\xbdV\xef\xbf\xbd\xef\xbf\xbdX\xef\xbf\xbd%\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xc8\xb3\xef\xbf\xbd\xef\xbf\xbd/\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd>\xdd\x9a\xef\xbf\xbd4\xef\xbf\xbd^?\xef\xbf\xbd\xef\xbf\xbdb\xef\xbf\xbdXU,\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdc\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd~\xd9\xa6\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd=\xef\xbf\xbdR\xef\xbf\xbdk\xef\xbf\xbdV\xef\xbf\xbd\xef\xbf\xbd+\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdO\xef\xbf\xbdO|\xda\xa6\xef\xbf\xbd&\xef\xbf\xbd>\xef\xbf\xbd\xef\xbf\xbd<X\xef\xbf\xbd\xef\xbf\xbdO\xdf\xa7v\xef\xbf\xbdfnF\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdo\xef\xbf\xbd?C\xef\xbf\xbdo?\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xc7\xb6;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdD\xef\xbf\xbd`\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdf1:\xef\xbb\x95\xef\xbf\xbd\xef\xbf\xbd.\xef\xbf\xbdA\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdw\xef\xbf\xbd\xef\xbf\xbdjP\xcd\x8b\xef\xbf\xbd-\xef\xbf\xbd\xef\xbf\xbdu\xef\xbf\xbdq\xef\xbf\xbd\xef\xbf\xbd<\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdh\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd}h\xef\xbf\xbd{\xef\xbf\xbd\xef\xbf\xbdTEX\xe7\x94\x8eCo|\xef\xbf\xbd\xef\xbf\xbd?\xef\xbf\xbd\xef\xbf\xbdw\xef\xbf\xbd+\xef\xbf\xbd_:\xef\xbf\xbd<\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd$\xef\xbf\xbda\xef\xbf\xbd\xef\xbf\xbd}\xef\xbf\xbd\xe2\xb1\x84<?\xef\xbf\xbd|\xef\xbf\xbd\xef\xbf\xbd_\xef\xbf\xbd\xef\xbf\xbd\xda\x9f\xef\xbf\xbdv\xef\xbf\xbd\xef\xbf\xbdS?\xef\xbf\xbdc{\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdv\xef\xbf\xbdw|\xef\xbf\xbd\xdf\xb9;M\xef\xbf\xbd:\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdo^\xef\xbf\xbd\xef\xbf\xbdi\xef\xbf\xbd\xef\xbf\xbdm\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdoT\xef\xbf\xbd\xda\xbb\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdo\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdU\xef\xbf\xbd5\xef\xbf\xbd\xe6\xae\xb5U\xef\xbf\xbd/!\xef\xbf\xbd\xdd\x83\xef\xbf\xbdMT\xef\xbf\xbd\xd1\xbf\xef\xbf\xbd\xef\xbf\xbd\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: c[Z^?\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdU\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdkL]\xef\xbf\xbd^?\xef\xbf\xbdd\xdf\xa7Bs\xef\xbf\xbdxY\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdj_\xef\xbf\xbd[\xef\xbf\xbd\xef\xbf\xbdW6/7e\xef\xbf\xbd^\xef\xbf\xbdhC^?w\xef\xbf\xbdd]\xef\xbf\xbdK\xef\xbf\xbd\xce\xa2\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd^?\xef\xbf\xbd\xef\xbf\xbdo\xef\xbf\xbdC\xef\xbf\xbd.\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd;\xef\xbf\xbd\xc8\xa9\xef\xbf\xbd(\xef\xbf\xbd_5\xef\xbf\xbd"\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd_|\xef\xbf\xbd.\xef\xbf\xbdcO\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdM\xef\xbf\xbdDX\xef\xbf\xbd\xdb\xb8\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd"\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdA}0>y^?i\xef\xbf\xbd4\xef\xbf\xbdW1i\xef\xbf\xbd\xef\xbf\xbdF\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd`\xef\xbf\xbd\xef\xbf\xbdgL\xef\xbf\xbdK)\xef\xbf\xbd;x-eC\xef\xbf\xbdC~\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd~\xef\xbf\xbdb`\xd9\xad\xef\xbf\xbdJ\xc3\xb8\xef\xbf\xbd\xcd\x95\xc5\xb6v\xef\xbf\xbd/6)Rw\xef\xbf\xbdnl_\xdd\xb7\xd3\x96\xef\xbf\xbd^?\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xcb\x8cY\xef\xbf\xbd\xef\xbf\xbd_v\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd,3D\xef\xbf\xbd2q\xef\xbf\xbd_\xef\xbf\xbdZ^?\xef\xbf\xbd2Y\xef\xbf\xbdM\xd5\x98\xef\xbf\xbdT\xef\xbf\xbd\xef\xbf\xbdj\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd0\xef\xbf\xbdl"U\xef\xbf\xbd\xef\xbf\xbd^?s\xef\xbf\xbd\xef\xbf\xbdj\xef\xbf\xbd\xef\xbf\xbdP\xef\xbf\xbd\xef\xbf\xbd%l\xef\xbf\xbd&\'p\xef\xbf\xbd\xef\xbf\xbdw\xef\xbf\xbd\xef\xbf\xbd@\xef\xbf\xbd\xe0\xa7\x92\xef\xbf\xbdbr\xef\xbf\xbd\xef\xbf\xbd\'?\xef\xbf\xbd\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xcc\xacN\xef\xbf\xbdv\xef\xbf\xbd1\xef\xbf\xbdm?u\xef\xbf\xbdi\xef\xbf\xbd\xef\xbf\xbd\xc8\xb8\xef\xbf\xbdec\xd8\x8e\xef\xbf\xbd\xd9\xb8N\xef\xbf\xbd}\xef\xbf\xbdq\xef\xbf\xbd\xef\xbf\xbdf\xef\xbf\xbd*\xcd\xa7kY^L\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdp1\xef\xbf\xbd"\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdzZ:5s\xef\xbf\xbd\xef\xbf\xbd6\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd}3\xef\xbf\xbd|3rK\xef\xbf\xbd\xef\xbf\xbdz\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd/\xd0\xb4^L\xef\xbf\xbda\xef\xbf\xbd\xef\xbf\xbd\xca\x84\xef\xbf\xbd;G\xef\xbf\xbdR\xef\xbf\xbd\xef\xbf\xbdGSO=^L:\xef\xbf\xbdM=F~\xef\xbf\xbd$\xef\xbf\xbdA\xd8\xa5Pn`\xef\xbf\xbdfby\xef\xbf\xbd\xcc\xb3\xef\xbf\xbdy\xd9\x96a\xef\xbf\xbd\xef\xbf\xbdv\xef\xbf\xbd1\xef\xbf\xbdNn^?\\\xef\xbf\xbdj\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd`.\xef\xbf\xbdeM\xef\xbf\xbd\xef\xbf\xbdVV\xef\xbf\xbdB\xef\xbf\xbd\xdc\x8e\xef\xbf\xbd;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdK"\xef\xbf\xbdi\xef\xbf\xbdO\xef\xbf\xbdo\xef\xbf\xbdv\xef\xbf\xbd\xef\xbf\xbd8\xef\xbf\xbd\xc6\xb8\xef\xbf\xbd\'\xef\xbf\xbdk\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd>\xef\xbf\xbd\xef\xbf\xbd%\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdx\xef\xbf\xbd\xef\xbf\xbd@\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdD\xef\xbf\xbd@\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdMk\xef\xbf\xbd3\xef\xbf\xbd\xef\xbf\xbd;m\xef\xbf\xbd&\xef\xbf\xbdK\xef\xbf\xbdn;\xef\xbf\xbd\xef\xbf\xbdn9-L\xef\xbf\xbdw\xef\xbf\xbd0\xef\xbf\xbd\xef\xbf\xbd\xcd\x84\xef\xbf\xbd6\xef\xbf\xbdq=\xef\xbf\xbdk\xef\xbf\xbd:{\xef\xbf\xbdidV\xef\xbf\xbd\xef\xbf\xbd;&\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd4R\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdT\xc4\xb3\\*2r\xef\xbf\xbdV\xc2\xa0\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdh\xef\xbf\xbd\xef\xbf\xbdd1j\xef\xbf\xbd*\xef\xbf\xbd<83>\xef\xbf\xbdnF48C\xef\xbf\xbdC@\xef\xbf\xbdh5--f\xef\xbf\xbd]P\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd^\xef\xbf\xbdv\xef\xbf\xbd\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: \xef\xbf\xbd<8\xef\xbf\xbd\xef\xbf\xbdyAM/\n...\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: \xef\xbf\xbd/pUY\xef\xbf\xbdSFZZ\xcf\x8f\xef\xbf\xbdj\xef\xbf\xbd]i)v*\xef\xbf\xbd\xef\xbf\xbd:t\xef\xbf\xbd\xef\xbf\xbdrc\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdX4\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdF\xef\xbf\xbd|\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd"H\xef\xbf\xbd|\xcf\x9fP\xef\xbf\xbd\xef\xbf\xbdt\xef\xbf\xbda)Ua9\xef\xbf\xbdb\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdQ+\xef\xbf\xbd\xef\xbf\xbdrX\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd$\xef\xbf\xbd(\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdL.C\xef\xbf\xbd\xca\x8d\xef\xbf\xbd\xef\xbf\xbdS\xca\x9c\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd(\xef\xbf\xbd^\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xde\x8e#\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd^MG\xef\xbf\xbd>\xef\xbf\xbd\xef\xbf\xbdo\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd"ija\xef\xbf\xbdH\xef\xbf\xbdv\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdu\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdg<UU\xef\xbf\xbdi    x\xef\xbf\xbdJ\xef\xbf\xbd7\xef\xbf\xbd3\xef\xbf\xbdH8\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd_n/L?v\xef\xbf\xbd\'\xef\xbf\xbdQ\xef\xbf\xbdk[\xef\xbf\xbdX\xef\xbf\xbdwh\xef\xbf\xbde* \xef\xbf\xbd\'\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdB\xef\xbf\xbdCA\xef\xbf\xbdGW/\xef\xbf\xbd}^?\xef\xbf\xbdj\xef\xbf\xbd\xef\xbf\xbd}\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdD)\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd{Mm\xef\xbf\xbd\xef\xbf\xbd4{`n\xef\xbf\xbd\xc9\xa9\xef\xbf\xbd\xef\xbf\xbd\xeb\xb3\xb6/\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd}\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd%\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd,\xef\xbf\xbd\xef\xbf\xbd_\xef\xbf\xbd\xcc\xaf^\xef\xbf\xbdCttl\xef\xbf\xbdlg0\xef\xbf\xbd9pE\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdJ\xef\xbf\xbd1\xef\xbf\xbd|\xef\xbf\xbd\xef\xbf\xbd1R\xef\xbf\xbd\xef\xbf\xbd"\xce\x89\xef\xbf\xbd\xef\xbf\xbd*\xef\xbf\xbd^?\xef\xbf\xbd\\\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd2\xef\xbf\xbdt\xef\xbf\xbd\xef\xbf\xbd]\xef\xbf\xbdN\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdJ/\xef\xbf\xbd6,\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd?9[\xef\xbf\xbd|\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdT\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd#\xef\xbf\xbd\xef\xbf\xbd*\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdu|\xef\xbf\xbdH\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdlqE(!\xef\xbf\xbd@\xef\xbf\xbd\xef\xbf\xbdF#H\xef\xbf\xbd\xef\xbf\xbdp\xef\xbf\xbdX+\xef\xbf\xbd     ]\xef\xbf\xbd^\xef\xbf\xbd9\xef\xbf\xbd.-\xef\xbf\xbd\xef\xbf\xbdS<\xef\xbf\xbd\xef\xbf\xbdQ\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd,\xef\xbf\xbd\xd0\x9c\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdg\xef\xbf\xbdL\xef\xbf\xbdct\xef\xbf\xbd\xcd\x9f\xef\xbf\xbdc62\xef\xbf\xbd\xef\xbf\xbdi\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdYOa(\xef\xbf\xbd\xd8\xac\xef\xbf\xbd,\xef\xbf\xbdB\xef\xbf\xbd\xdd\xaa&E\xd7\x85\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd|\\\xef\xbf\xbd)\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdYT@#\xef\xbf\xbd^L\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdS:\xef\xbf\xbdV\xef\xbf\xbd$re\xef\xbf\xbd9\xef\xbf\xbd5zh4L&\xef\xbf\xbd\xef\xbf\xbdH[p\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdX\xef\xbf\xbd\xef\xbf\xbd\xd9\x80\xef\xbf\xbd;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd@F3\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd0Z\xef\xbf\xbd\xef\xbf\xbd_\xef\xbf\xbd3\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdM\xef\xbf\xbd\xef\xbf\xbd!\xef\xbf\xbd[8\xef\xbf\xbd+#\xef\xbf\xbd\xef\xbf\xbdQ~8\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdAuHjk\xd3\x99;J\xef\xbf\xbd9\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdV}\xdf\xb4$D[\xef\xbf\xbd\xef\xbf\xbdk\xef\xbf\xbd\xde\x86ne\xef\xbf\xbd\xef\xbf\xbd`\xef\xbf\xbdL\xef\xbf\xbd=QV\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd1ma\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd^?v[\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdr-\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdA\xef\xbf\xbde\xef\xbf\xbd\xc6\xbd\xef\xbf\xbdA\xef\xbf\xbd:\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd_\xef\xbf\xbdDL\xef\xbf\xbd$\xef\xbf\xbd+\xef\xbf\xbd\\\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd)^\xef\xbf\xbd\xef\xbf\xbd;\xef\xbf\xbdwg\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdY\xc7\xbd\xe7\xa4\xb3>X/\xef\xbf\xbd;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd3\xef\xbf\xbd\xc8\xa76\xef\xbf\xbd[Z\xef\xbf\xbd7\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd6\xef\xbf\xbdr\xef\xbf\xbd\xef\xbf\xbd\xda\x9cj^\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd|\xef\xbf\xbd\xef\xbf\xbd6{rlC\xef\xbf\xbd\xef\xbf\xbdl\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdUr19/\xef\xbf\xbd{F\xef\xbf\xbdM\xef\xbf\xbdu\xef\xbf\xbd\xef\xbf\xbd2M\xef\xbf\xbdT\xef\xbf\xbdm9^\xef\xbf\xbd\xef\xbf\xbdc^\xef\xbf\xbdn\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdvQ\xef\xbf\xbd\xef\xbf\xbd]L:@\xe9\xa2\x85\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdo\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xde\x9eK#\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdj\xef\xbf\xbd\xef\xbf\xbdt\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xde\x95A\xef\xbf\xbd\xef\xbf\xbdw\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd-\xef\xbf\xbd(um\xef\xbf\xbds\xef\xbf\xbdU\xef\xbf\xbd3$zeN\xef\xbf\xbd\xef\xbf\xbdX\xef\xbf\xbd_^:\xd9\xae\xef\xbf\xbdw\xef\xbf\xbd\xef\xbf\xbdV\xe8\xa5\xa9J\xef\xbf\xbdDR\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd 2;\xca\xab\xef\xbf\xbdZ\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: << /Producer 56 0 R /CreationDate 57 0 R /ModDate 57 0 R >>\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: endobj\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: 0000007598 00000 n\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: 0000007617 00000 n\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: 0000007750 00000 n\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: 0001499540 00000 n\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: 0001500904 00000 n\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: 0001541372 00000 n\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: 0001558520 00000 n\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: %%EOF\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: --> END POST (1560240-byte body)\n\n    read: unexpected EOF!\n
Run Code Online (Sandbox Code Playgroud)\n\n

该行之后没有记录任何内容read: unexpected EOF!

\n\n

OkHttp 客户端的设置方式如下:

\n\n
2020-05-05 14:29:54.112 17172-17273/com.mobile.qa D/OkHttp: --> POST https://some.url.com/messages/attachments/add\n2020-05-05 14:29:54.112 17172-17273/com.mobile.qa D/OkHttp: Content-Type: multipart/form-data; boundary=a95001c6-60d9-45d7-ae12-2bcc469932ba\n2020-05-05 14:29:54.113 17172-17273/com.mobile.qa D/OkHttp: Content-Length: 1560240\n2020-05-05 14:29:54.113 17172-17273/com.mobile.qa D/OkHttp: Authorization: Bearer 010DB4521D02851702F831C178A3C95813FC2A8CEC8765A3E0F9544CB70DCA14CDC31CB08F4255259A9484D563A6CB423ABE018275CBE24C967E9560B590A5D4F73AE517E37EC3B72D74C8A14DF3F73C8EEF6F77CB4D8A74BB0DF8710C696E75F9B2357D5FBB57C8EC1E49B4CCCB51B1E78B1018866F3BB3E81188AECC6932B511CD025EDD7074CEB40B00B0655030ACB0BA9C51573B56AF7BC39310835EF24907F0A47B8A469A48596ACDFA55BB8924DCF7D1AE455B9EC029F3F3EAC1255D4F8ADB044EBC71545E5E330A90B7FD0A1C0DF0DF416CDBEE32BD5F1E9370000AAE2F6ED367C640204DF0A962CE4F0807F32F7CB9B95FD80A7E45B8866FD4516D7ED77A3740F8D6CCEBF2434D26915AF69DC73515C48398C2510C981AA2A96B230A2FBBC3040179CB85565B1E31E1F960407831F9B03BE29225EFF874DED24DABD50B56B2AEE28B6639D33947FBFCEC2EA3B083B4820948449C8B67913CF680B3C3B0C69A73C266765BA9A5A18C0A87BF24EC23B8F8EF66A5FA9A7A90515ECEFC475536B6CF335B8A520452F8F0244EF43A581BC89223814DC687533EE06662113C28D0E7A9B176CC40E610455FC4BB53AF8B8F7BC42E6EB2B3250EEB98B72C99BCBBB6F50AA587CA1BE0BD833021F20F77C04458475DAB72C7EE5561F3A5E8AC44FAE267E614E8604B36808E70CB2BA44BE7BF3707DE945A51D8DD269FF5E4FC2330A8421F5928DD318224FD90F6C481FB638BBE15C4E626B4D44C0B6975C00A24E751926A765F072FC19FA9E5387CEFCE1EAE5D8C2072B01FC1CCAFEB1E975C39D7BD66DA4B16ACA6518946915AA5D43F8787F6DE64FE9BAA9234C9620B4E00D9BB33C460CC\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: --a95001c6-60d9-45d7-ae12-2bcc469932ba\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: Content-Disposition: form-data; name="attachmentUpload"; filename="with_extension.pdf"\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: Content-Type: application/pdf\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: Content-Length: 1560010\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: %PDF-1.3\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: %\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: 4 0 obj\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: << /Length 5 0 R /Filter /FlateDecode >>\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: stream\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: x\xef\xbf\xbd\xef\xbf\xbd\xdd\x8e\\7r\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdS\xef\xbf\xbd\xef\xbf\xbdq\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdG\xef\xbf\xbd6\xef\xbf\xbdz\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdX{\xef\xbf\xbdB;\xef\xbf\xbdV\xef\xbf\xbd\xef\xbf\xbdX\xef\xbf\xbd%\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xc8\xb3\xef\xbf\xbd\xef\xbf\xbd/\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd>\xdd\x9a\xef\xbf\xbd4\xef\xbf\xbd^?\xef\xbf\xbd\xef\xbf\xbdb\xef\xbf\xbdXU,\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdc\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd~\xd9\xa6\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd=\xef\xbf\xbdR\xef\xbf\xbdk\xef\xbf\xbdV\xef\xbf\xbd\xef\xbf\xbd+\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdO\xef\xbf\xbdO|\xda\xa6\xef\xbf\xbd&\xef\xbf\xbd>\xef\xbf\xbd\xef\xbf\xbd<X\xef\xbf\xbd\xef\xbf\xbdO\xdf\xa7v\xef\xbf\xbdfnF\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdo\xef\xbf\xbd?C\xef\xbf\xbdo?\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xc7\xb6;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdD\xef\xbf\xbd`\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdf1:\xef\xbb\x95\xef\xbf\xbd\xef\xbf\xbd.\xef\xbf\xbdA\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdw\xef\xbf\xbd\xef\xbf\xbdjP\xcd\x8b\xef\xbf\xbd-\xef\xbf\xbd\xef\xbf\xbdu\xef\xbf\xbdq\xef\xbf\xbd\xef\xbf\xbd<\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdh\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd}h\xef\xbf\xbd{\xef\xbf\xbd\xef\xbf\xbdTEX\xe7\x94\x8eCo|\xef\xbf\xbd\xef\xbf\xbd?\xef\xbf\xbd\xef\xbf\xbdw\xef\xbf\xbd+\xef\xbf\xbd_:\xef\xbf\xbd<\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd$\xef\xbf\xbda\xef\xbf\xbd\xef\xbf\xbd}\xef\xbf\xbd\xe2\xb1\x84<?\xef\xbf\xbd|\xef\xbf\xbd\xef\xbf\xbd_\xef\xbf\xbd\xef\xbf\xbd\xda\x9f\xef\xbf\xbdv\xef\xbf\xbd\xef\xbf\xbdS?\xef\xbf\xbdc{\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdv\xef\xbf\xbdw|\xef\xbf\xbd\xdf\xb9;M\xef\xbf\xbd:\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdo^\xef\xbf\xbd\xef\xbf\xbdi\xef\xbf\xbd\xef\xbf\xbdm\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdoT\xef\xbf\xbd\xda\xbb\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdo\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdU\xef\xbf\xbd5\xef\xbf\xbd\xe6\xae\xb5U\xef\xbf\xbd/!\xef\xbf\xbd\xdd\x83\xef\xbf\xbdMT\xef\xbf\xbd\xd1\xbf\xef\xbf\xbd\xef\xbf\xbd\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: c[Z^?\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdU\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdkL]\xef\xbf\xbd^?\xef\xbf\xbdd\xdf\xa7Bs\xef\xbf\xbdxY\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdj_\xef\xbf\xbd[\xef\xbf\xbd\xef\xbf\xbdW6/7e\xef\xbf\xbd^\xef\xbf\xbdhC^?w\xef\xbf\xbdd]\xef\xbf\xbdK\xef\xbf\xbd\xce\xa2\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd^?\xef\xbf\xbd\xef\xbf\xbdo\xef\xbf\xbdC\xef\xbf\xbd.\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd;\xef\xbf\xbd\xc8\xa9\xef\xbf\xbd(\xef\xbf\xbd_5\xef\xbf\xbd"\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd_|\xef\xbf\xbd.\xef\xbf\xbdcO\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdM\xef\xbf\xbdDX\xef\xbf\xbd\xdb\xb8\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd"\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdA}0>y^?i\xef\xbf\xbd4\xef\xbf\xbdW1i\xef\xbf\xbd\xef\xbf\xbdF\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd`\xef\xbf\xbd\xef\xbf\xbdgL\xef\xbf\xbdK)\xef\xbf\xbd;x-eC\xef\xbf\xbdC~\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd~\xef\xbf\xbdb`\xd9\xad\xef\xbf\xbdJ\xc3\xb8\xef\xbf\xbd\xcd\x95\xc5\xb6v\xef\xbf\xbd/6)Rw\xef\xbf\xbdnl_\xdd\xb7\xd3\x96\xef\xbf\xbd^?\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xcb\x8cY\xef\xbf\xbd\xef\xbf\xbd_v\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd,3D\xef\xbf\xbd2q\xef\xbf\xbd_\xef\xbf\xbdZ^?\xef\xbf\xbd2Y\xef\xbf\xbdM\xd5\x98\xef\xbf\xbdT\xef\xbf\xbd\xef\xbf\xbdj\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd0\xef\xbf\xbdl"U\xef\xbf\xbd\xef\xbf\xbd^?s\xef\xbf\xbd\xef\xbf\xbdj\xef\xbf\xbd\xef\xbf\xbdP\xef\xbf\xbd\xef\xbf\xbd%l\xef\xbf\xbd&\'p\xef\xbf\xbd\xef\xbf\xbdw\xef\xbf\xbd\xef\xbf\xbd@\xef\xbf\xbd\xe0\xa7\x92\xef\xbf\xbdbr\xef\xbf\xbd\xef\xbf\xbd\'?\xef\xbf\xbd\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xcc\xacN\xef\xbf\xbdv\xef\xbf\xbd1\xef\xbf\xbdm?u\xef\xbf\xbdi\xef\xbf\xbd\xef\xbf\xbd\xc8\xb8\xef\xbf\xbdec\xd8\x8e\xef\xbf\xbd\xd9\xb8N\xef\xbf\xbd}\xef\xbf\xbdq\xef\xbf\xbd\xef\xbf\xbdf\xef\xbf\xbd*\xcd\xa7kY^L\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdp1\xef\xbf\xbd"\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdzZ:5s\xef\xbf\xbd\xef\xbf\xbd6\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd}3\xef\xbf\xbd|3rK\xef\xbf\xbd\xef\xbf\xbdz\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd/\xd0\xb4^L\xef\xbf\xbda\xef\xbf\xbd\xef\xbf\xbd\xca\x84\xef\xbf\xbd;G\xef\xbf\xbdR\xef\xbf\xbd\xef\xbf\xbdGSO=^L:\xef\xbf\xbdM=F~\xef\xbf\xbd$\xef\xbf\xbdA\xd8\xa5Pn`\xef\xbf\xbdfby\xef\xbf\xbd\xcc\xb3\xef\xbf\xbdy\xd9\x96a\xef\xbf\xbd\xef\xbf\xbdv\xef\xbf\xbd1\xef\xbf\xbdNn^?\\\xef\xbf\xbdj\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd`.\xef\xbf\xbdeM\xef\xbf\xbd\xef\xbf\xbdVV\xef\xbf\xbdB\xef\xbf\xbd\xdc\x8e\xef\xbf\xbd;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdK"\xef\xbf\xbdi\xef\xbf\xbdO\xef\xbf\xbdo\xef\xbf\xbdv\xef\xbf\xbd\xef\xbf\xbd8\xef\xbf\xbd\xc6\xb8\xef\xbf\xbd\'\xef\xbf\xbdk\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd>\xef\xbf\xbd\xef\xbf\xbd%\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdx\xef\xbf\xbd\xef\xbf\xbd@\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdD\xef\xbf\xbd@\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdMk\xef\xbf\xbd3\xef\xbf\xbd\xef\xbf\xbd;m\xef\xbf\xbd&\xef\xbf\xbdK\xef\xbf\xbdn;\xef\xbf\xbd\xef\xbf\xbdn9-L\xef\xbf\xbdw\xef\xbf\xbd0\xef\xbf\xbd\xef\xbf\xbd\xcd\x84\xef\xbf\xbd6\xef\xbf\xbdq=\xef\xbf\xbdk\xef\xbf\xbd:{\xef\xbf\xbdidV\xef\xbf\xbd\xef\xbf\xbd;&\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd4R\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdT\xc4\xb3\\*2r\xef\xbf\xbdV\xc2\xa0\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdh\xef\xbf\xbd\xef\xbf\xbdd1j\xef\xbf\xbd*\xef\xbf\xbd<83>\xef\xbf\xbdnF48C\xef\xbf\xbdC@\xef\xbf\xbdh5--f\xef\xbf\xbd]P\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd^\xef\xbf\xbdv\xef\xbf\xbd\n2020-05-05 14:29:54.285 17172-17273/com.mobile.qa D/OkHttp: \xef\xbf\xbd<8\xef\xbf\xbd\xef\xbf\xbdyAM/\n...\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: \xef\xbf\xbd/pUY\xef\xbf\xbdSFZZ\xcf\x8f\xef\xbf\xbdj\xef\xbf\xbd]i)v*\xef\xbf\xbd\xef\xbf\xbd:t\xef\xbf\xbd\xef\xbf\xbdrc\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdX4\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdF\xef\xbf\xbd|\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd"H\xef\xbf\xbd|\xcf\x9fP\xef\xbf\xbd\xef\xbf\xbdt\xef\xbf\xbda)Ua9\xef\xbf\xbdb\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdQ+\xef\xbf\xbd\xef\xbf\xbdrX\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd$\xef\xbf\xbd(\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdL.C\xef\xbf\xbd\xca\x8d\xef\xbf\xbd\xef\xbf\xbdS\xca\x9c\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd(\xef\xbf\xbd^\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xde\x8e#\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd^MG\xef\xbf\xbd>\xef\xbf\xbd\xef\xbf\xbdo\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd"ija\xef\xbf\xbdH\xef\xbf\xbdv\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdu\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdg<UU\xef\xbf\xbdi    x\xef\xbf\xbdJ\xef\xbf\xbd7\xef\xbf\xbd3\xef\xbf\xbdH8\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd_n/L?v\xef\xbf\xbd\'\xef\xbf\xbdQ\xef\xbf\xbdk[\xef\xbf\xbdX\xef\xbf\xbdwh\xef\xbf\xbde* \xef\xbf\xbd\'\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdB\xef\xbf\xbdCA\xef\xbf\xbdGW/\xef\xbf\xbd}^?\xef\xbf\xbdj\xef\xbf\xbd\xef\xbf\xbd}\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdD)\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd{Mm\xef\xbf\xbd\xef\xbf\xbd4{`n\xef\xbf\xbd\xc9\xa9\xef\xbf\xbd\xef\xbf\xbd\xeb\xb3\xb6/\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd}\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd%\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd,\xef\xbf\xbd\xef\xbf\xbd_\xef\xbf\xbd\xcc\xaf^\xef\xbf\xbdCttl\xef\xbf\xbdlg0\xef\xbf\xbd9pE\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdJ\xef\xbf\xbd1\xef\xbf\xbd|\xef\xbf\xbd\xef\xbf\xbd1R\xef\xbf\xbd\xef\xbf\xbd"\xce\x89\xef\xbf\xbd\xef\xbf\xbd*\xef\xbf\xbd^?\xef\xbf\xbd\\\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd2\xef\xbf\xbdt\xef\xbf\xbd\xef\xbf\xbd]\xef\xbf\xbdN\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdJ/\xef\xbf\xbd6,\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd?9[\xef\xbf\xbd|\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdT\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd#\xef\xbf\xbd\xef\xbf\xbd*\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdu|\xef\xbf\xbdH\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdlqE(!\xef\xbf\xbd@\xef\xbf\xbd\xef\xbf\xbdF#H\xef\xbf\xbd\xef\xbf\xbdp\xef\xbf\xbdX+\xef\xbf\xbd     ]\xef\xbf\xbd^\xef\xbf\xbd9\xef\xbf\xbd.-\xef\xbf\xbd\xef\xbf\xbdS<\xef\xbf\xbd\xef\xbf\xbdQ\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd,\xef\xbf\xbd\xd0\x9c\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdg\xef\xbf\xbdL\xef\xbf\xbdct\xef\xbf\xbd\xcd\x9f\xef\xbf\xbdc62\xef\xbf\xbd\xef\xbf\xbdi\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdYOa(\xef\xbf\xbd\xd8\xac\xef\xbf\xbd,\xef\xbf\xbdB\xef\xbf\xbd\xdd\xaa&E\xd7\x85\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd|\\\xef\xbf\xbd)\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdYT@#\xef\xbf\xbd^L\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdS:\xef\xbf\xbdV\xef\xbf\xbd$re\xef\xbf\xbd9\xef\xbf\xbd5zh4L&\xef\xbf\xbd\xef\xbf\xbdH[p\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdX\xef\xbf\xbd\xef\xbf\xbd\xd9\x80\xef\xbf\xbd;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd@F3\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd0Z\xef\xbf\xbd\xef\xbf\xbd_\xef\xbf\xbd3\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdM\xef\xbf\xbd\xef\xbf\xbd!\xef\xbf\xbd[8\xef\xbf\xbd+#\xef\xbf\xbd\xef\xbf\xbdQ~8\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdAuHjk\xd3\x99;J\xef\xbf\xbd9\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdV}\xdf\xb4$D[\xef\xbf\xbd\xef\xbf\xbdk\xef\xbf\xbd\xde\x86ne\xef\xbf\xbd\xef\xbf\xbd`\xef\xbf\xbdL\xef\xbf\xbd=QV\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd1ma\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd^?v[\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdr-\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdA\xef\xbf\xbde\xef\xbf\xbd\xc6\xbd\xef\xbf\xbdA\xef\xbf\xbd:\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd_\xef\xbf\xbdDL\xef\xbf\xbd$\xef\xbf\xbd+\xef\xbf\xbd\\\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd)^\xef\xbf\xbd\xef\xbf\xbd;\xef\xbf\xbdwg\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdY\xc7\xbd\xe7\xa4\xb3>X/\xef\xbf\xbd;\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd3\xef\xbf\xbd\xc8\xa76\xef\xbf\xbd[Z\xef\xbf\xbd7\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd6\xef\xbf\xbdr\xef\xbf\xbd\xef\xbf\xbd\xda\x9cj^\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd|\xef\xbf\xbd\xef\xbf\xbd6{rlC\xef\xbf\xbd\xef\xbf\xbdl\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdUr19/\xef\xbf\xbd{F\xef\xbf\xbdM\xef\xbf\xbdu\xef\xbf\xbd\xef\xbf\xbd2M\xef\xbf\xbdT\xef\xbf\xbdm9^\xef\xbf\xbd\xef\xbf\xbdc^\xef\xbf\xbdn\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdvQ\xef\xbf\xbd\xef\xbf\xbd]L:@\xe9\xa2\x85\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdo\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xde\x9eK#\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdj\xef\xbf\xbd\xef\xbf\xbdt\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xde\x95A\xef\xbf\xbd\xef\xbf\xbdw\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd-\xef\xbf\xbd(um\xef\xbf\xbds\xef\xbf\xbdU\xef\xbf\xbd3$zeN\xef\xbf\xbd\xef\xbf\xbdX\xef\xbf\xbd_^:\xd9\xae\xef\xbf\xbdw\xef\xbf\xbd\xef\xbf\xbdV\xe8\xa5\xa9J\xef\xbf\xbdDR\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd 2;\xca\xab\xef\xbf\xbdZ\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: << /Producer 56 0 R /CreationDate 57 0 R /ModDate 57 0 R >>\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: endobj\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: 0000007598 00000 n\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: 0000007617 00000 n\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: 0000007750 00000 n\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: 0001499540 00000 n\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: 0001500904 00000 n\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: 0001541372 00000 n\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: 0001558520 00000 n\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: %%EOF\n2020-05-05 14:29:54.330 17172-17273/com.mobile.qa D/OkHttp: --> END POST (1560240-byte body)\n\n    read: unexpected EOF!\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是 POST 请求的定义:

\n\n
private val OK_HTTP_INSTANCE: OkHttpClient =\n    OkHttpClient.Builder()\n        .connectTimeout(30L, TimeUnit.SECONDS)\n        .writeTimeout(30L, TimeUnit.SECONDS)\n        .readTimeout(30L, TimeUnit.SECONDS)\n        .cookieJar(CookieJarFactory.cookieJar)\n        .connectionSpecs(listOf(ConnectionSpec.MODERN_TLS, ConnectionSpec.COMPATIBLE_TLS))\n        .addInterceptor(AuthInterceptor())\n        .addInterceptor(RefreshInterceptor())\n        .addInterceptor(HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY))\n        .build()\n
Run Code Online (Sandbox Code Playgroud)\n

shb*_*shb 7

您可以在标题中查找特定的内容类型。

或者添加自定义标头@Headers("multipart: true")

@Headers("multipart: true")
@Multipart
@POST("messages/attachments/add")
fun addAttachment(@Part attachment: MultipartBody.Part): Single<Attachment>
Run Code Online (Sandbox Code Playgroud)

然后在拦截器中检查自定义标头并相应地设置日志记录级别

 OkHttpClient.Builder okHttpClientBuilder = new OkHttpClient.Builder();
 HttpLoggingInterceptor logging = new HttpLoggingInterceptor();

 okHttpClientBuilder.addInterceptor(chain -> {
     Request original = chain.request();
     Request request = original.newBuilder().build();

     boolean hasMultipart = request.headers().names().contains("multipart");

     logging.setLevel(hasMultipart ? HttpLoggingInterceptor.Level.NONE : HttpLoggingInterceptor.Level.BODY);

     return chain.proceed(request);
    }).build();

okHttpClientBuilder.addInterceptor(logging);
Run Code Online (Sandbox Code Playgroud)

  • 我相信这样的有状态拦截器不能很好地处理并发 okhttp 请求。 (4认同)
  • @Alex,我相信如果您在问题或新答案中包含如何检查内容类型,这将会很有用:) (4认同)