用https post发送python上传字符串

这个问题在这里已经有了答案:

  • 如何在HTTP POST请求中发送参数? 7个答案

  • 使用files参数时, requests会创建发布文件所需的标题和正文。
    如果你不希望你的请求像这样形成,你可以使用data参数。

    url = 'http://httpbin.org/anything'
    headers = {'content-type': 'application/octet-stream'}
    files = {'file': 'ID,Namen1,test'}
    r = requests.post(url, data=files, headers=headers, auth=('user', 'password'))
    print(r.request.body)
    
    file=ID%2CName%0A1%2Ctest
    

    请注意,将字典传递给data它会进行网址编码。 如果你想在没有任何编码的情况下提交数据,你可以使用一个字符串。

    url = 'http://httpbin.org/anything'
    headers = {'content-type': 'application/octet-stream'}
    files = 'ID,Namen1,test'
    r = requests.post(url, data=files, headers=headers, auth=('user', 'password'))
    print(r.request.body)
    
    ID,Name
    1,test
    
    链接地址: http://www.djcxy.com/p/41321.html

    上一篇: python upload string with https post

    下一篇: Ruby on Rails Resource Design, singular vs. plural