工做中使用python的requests库作文件上传,在构建请求的过程当中报错:python
一、根据报错信息得知'latin-1'不能编码字符'\u2028',谷歌查询'\u2028'是个换行符,然而魔幻的是我在代码里的并无看到换行符的存在;markdown
二、接下来咱们看一看Traceback,显示RequestUtil.py文件中的第31行代码调用到client.py的第1212行代码encode的时候报错了: app
四、“application/octet-stream”是我上传文件的时候设置的header中的“Content-Type”的值,然而代码中并无看到这个“\u2028”: 编码
五、精彩的来了,我把这行代码删除掉一个字母一个字母的手动敲了一遍,再运行一次她竟然课能够了!!!本着不信邪的精神我把原来的那行代码和手动写的代码都转码了一下看到以前的那行代码果真有“\u2028”:spa
六、我细细思索了一下想到以前的“application/octet-stream”是我从接口文档复制过来的,打开个人文档从新试了一下,就是红框里的这个东西被我复制进去了!!!必定要当心!!! code
七、至此,终于破案了!!!orm
在写代码的过程当中报错了必定要看Traceback,根据提示一步一步的找到缘由,研究解决方案。不要看到错误就马上去网上一顿瞎搜。另:写这个文章的目的是记录一下在工做中遇到的问题,同时也但愿给遇到一样问题的伙伴提供一个解题思路。 最后祝你们写代码都顺顺利利呀~~~接口