python HTTP 图片上传

来源:互联网 发布:网络道德规范的主体是 编辑:程序博客网 时间:2024/06/02 06:48
#-*-coding:utf-8-*-import httplibimport 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, bodyif __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

0 0
原创粉丝点击