最近在接入其余接口的时候,要发送form-data的数据,认为就是将在headers中增加一下Content-Type为multipart/form-data,可能是我太天真了,增加之后把传入的数据都整没了,很是苦楚。于是到处找材料,终于找到了以下两种计划,提供给有须要的同志们。

requests

  • requests_toolbelt

    from requests_toolbelt import MultipartEncoderimport requestsm = MultipartEncoder(  fields={'field0': 'value',         'field1': 'value',          'field2': ('文件名称', open('文件地址/file.py', 'rb'), 'text/plain')}  )r = requests.post('http://httpbin.org/post',                data=m,                headers={'Content-Type': m.content_type})

urlib3

  • encode_multipart_formdata

    from urlib3 import encode_multipart_formdataimport requestsm = encode_multipart_formdata()r = requests.post('http://httpbin.org/post',                data=m[0],                headers={'Content-Type': m[1]})