1.使用urllib2原始的方式
import urllib2
__author__ = 'huangjianan'
def post_file(url,filepath,header):
boundary = 'IYhWIT-aMbWSbS32CkryLCcV4lp-3N'
#body
pic_type=filepath.split('.')[-1]
data = []
data.append('--%s' % boundary)
fr=open(filepath,'rb')
data.append('Content-Disposition: form-data; name="%s"; filename="test.%s"' % ('avataFile',pic_type))
data.append('Content-Type: image/%s\r\n' % pic_type)
buffer=fr.read()
data.append(buffer)
fr.close()
data.append('--%s--\r\n' % boundary)
http_body='\r\n'.join(data)
req=urllib2.Request(url, data=http_body)
#header
for (k,v) in header.items():
req.add_header(k,v)
resp = urllib2.urlopen(req, timeout=5)
response=resp.read()
return response
2.使用requests方式
import requests
headers = {'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Accept-Encoding':'gzip,deflate'}
fileparams = {"Filedata": (filepath.split("/")[-1], open(abspath, "rb"), "application/octet-stream")}
r = requests.post(url, data={},files=fileparams, headers=headers)