我预计从请求迁移到pyCurl会出现问题,我的代码如下所示:
c = pycurl.Curl()
c.setopt(c.POST, 1)
c.setopt(c.URL, self.UploadURL)
c.setopt(c.HTTPPOST, [("files[]", (c.FORM_FILE, local_path))])
c.perform()
c.close()
但它总是给我一个奇怪的"404 - Not Found"
错误,self.UploadURL
看起来像这样:
http://s1.example.com/Upload?e=hB3DRDMTrp1qXfLYcGlb7IEDgQFgg7j5_WxnaYzJckfmCXT_ggm4f4T6Byk1WJWpkpiXzp2R8N1bG3J0qixKbJ7Nc1k5hR5dUTGsHjxzLgG0QL8Pl5a95ygehKcAzz5jpirHKWDJQ1c_uJW9UbuXMw&pv=2
正如您所看到的,它有非标准字符,如?, =, _, &
,并且很长:P。另外:我甚至不知道我的脚本发送到服务器的是什么,因为程序Fiddler4
没有捕获到该请求o_O
另外,这是工作代码,但它使用请求(我想要pyCurl):
files = MultipartEncoder[("files[]", (filename, filedata, 'application/octet-stream'))]
UploadFile = requests.post(self.UploadURL, data=files, headers={'Content-Type': files.content_type}, stream=True)
答案 0 :(得分:0)
尝试使用base64编码进行查询参数。