Python模拟HTTP Post上传文件
2014-06-16 17:11
471 查看
使用urllib2模块构造http post数据结构,提交有文件的表单(multipart/form-data),本示例提交的post表单带有两个参数及一张图片,代码如下:
C#版本见:
模拟提交有文件上传的表单(通过http模拟上传文件)
#buld post body data boundary = '----------%s' % hex(int(time.time() * 1000)) data = [] data.append('--%s' % boundary) data.append('Content-Disposition: form-data; name="%s"\r\n' % 'username') data.append('jack') data.append('--%s' % boundary) data.append('Content-Disposition: form-data; name="%s"\r\n' % 'mobile') data.append('13800138000') data.append('--%s' % boundary) fr=open(r'/var/qr/b.png','rb') data.append('Content-Disposition: form-data; name="%s"; filename="b.png"' % 'profile') data.append('Content-Type: %s\r\n' % 'image/png') data.append(fr.read()) fr.close() data.append('--%s--\r\n' % boundary) http_url='http://remotserver.com/page.php' http_body='\r\n'.join(data) try: #buld http request req=urllib2.Request(http_url, data=http_body) #header req.add_header('Content-Type', 'multipart/form-data; boundary=%s' % boundary) req.add_header('User-Agent','Mozilla/5.0') req.add_header('Referer','http://remotserver.com/') #post data to server resp = urllib2.urlopen(req, timeout=5) #get response qrcont=resp.read() print qrcont except Exception,e: print 'http error'
C#版本见:
模拟提交有文件上传的表单(通过http模拟上传文件)
相关文章推荐
- python发HTTP post请求上传文件
- httpClient4.3 模拟Post提交,模拟Post上传文件并解决服务端使用spingMVC时upload.parseRequest(request)解析不到File,Pos简单抓取页面数据
- 使用python模拟post表单上传文件
- java、 http模拟post上传文件到服务端 模拟form上传文件
- 使用Python发送http post请求上传文件
- httpurlconnection模拟post提交form表单(普通文本和上传文件) (
- 【转】asp.net(c#)使用HttpWebRequest附加携带请求参数以post方式模拟上传大文件(以图片为例)到Web服务器端
- HttpClient4.5.2模拟表单post提交上传文件
- HttpClient PostMethod模拟带文件上传+普通字段的http请求(可解决文件为网络文件的问题)
- HTTPCLIENT POST 模拟有上传文件和文本字段的动态表单
- Qt模拟Http Post上传文件行为—内存释放问题
- asp.net(c#)使用HttpWebRequest附加携带请求参数以post方式模拟上传大文件(以图片为例)到Web服务器端
- rest client模拟带上传文件的post请求到ror中
- C#实现http协议支持上传下载文件的GET、POST请求
- java中使用scoket模拟http post请求发送图片或文件
- 将文件通过http的post方法上传到服务器
- Http之Post传文件之处理 Java vs .Net vs Python
- [转]vc++ post http实现文件上传
- android模拟post请求上传文件
- ASP模拟POST提交请求上传文件