#-*-coding:utf-8-*-
import httplib
import mimetypes
#post请求
def post(host,fileds,files):
content_type, body = formdata(fileds,files) #格式化信息头
headers = {"content-type":content_type,"content-length":str(len(body))}
req = httplib.HTTPConnection(host,80,True,3)
req.request("POST","/",body,headers)
response = req.getresponse()
return response.read()
#格式化数据
def formdata(fields,files):
LIMIT = '----------lImIt_of_THE_fIle_eW_$'
CRLF = '\r\n'
L = []
for key, value in fields.items():
L.append('--' + LIMIT)
L.append('Content-Disposition: form-data; name="%s"' % key)
L.append('')
L.append(value)
for (key, filename, value) in files:
L.append('--' + LIMIT)
L.append('Content-Disposition: form-data; name="%s";filename="%s"' % (key, filename))
L.append('Content-Type: %s' % mimetypes.guess_type(filename)[0])
L.append('')
L.append(value)
L.append('--' + LIMIT + '--')
L.append('')
body = CRLF.join(L)
content_type = 'multipart/form-data; boundary=%s' % LIMIT
return content_type, body
if __name__== "__main__":
#help(httplib.HTTPConnection)
fields = {"name":"abc"}
filename = '10050051_155917435130_2.jpg'
files = [('file', filename, open(filename, 'rb').read())]
a = post('192.168.10.31',fields,files)
print a