python upload string with https post
本问题已经有最佳答案,请猛点这里访问。
我们想用python上传一个字符串。
我在这里找到了一些例子并创建了以下脚本。
1 2 3 4 5 6 | import requests url = 'https://URL/fileupload?FileName=file.csv' headers = {'content-type': 'octet-stream'} files = {'file': ('ID,Name 1,test')} r = requests.post(url, files=files, headers=headers, auth=('user', 'password')) |
上传工作但输出包含一些意外的行。
1 2 3 4 5 6 | --ec7b507f800f48ab85b7b36ef40cfc44 Content-Disposition: form-data; name="file"; filename="file" ID,Name 1,test --ec7b507f800f48ab85b7b36ef40cfc44-- |
目标是仅从
1,test')}
1 2 | ID,Name 1,test |
这怎么可能?
使用
如果您不希望您的请求格式化,则可以使用
1 2 3 4 5 6 | url = 'http://httpbin.org/anything' headers = {'content-type': 'application/octet-stream'} files = {'file': 'ID,Name 1,test'} r = requests.post(url, data=files, headers=headers, auth=('user', 'password')) print(r.request.body) |
1 | file=ID%2CName%0A1%2Ctest |
请注意,将字典传递给
1 2 3 4 5 6 | url = 'http://httpbin.org/anything' headers = {'content-type': 'application/octet-stream'} files = 'ID,Name 1,test' r = requests.post(url, data=files, headers=headers, auth=('user', 'password')) print(r.request.body) |
1 2 | ID,Name 1,test |