码迷,mamicode.com
首页 > 编程语言 > 详细

Python模拟HTTP Post上传文件

时间:2014-06-18 14:55:59      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   http   color   

使用urllib2模块构造http post数据结构,提交有文件的表单(multipart/form-data),本示例提交的post表单带有两个参数及一张图片,代码如下:

#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上传文件,布布扣,bubuko.com

Python模拟HTTP Post上传文件

标签:style   class   blog   code   http   color   

原文地址:http://www.cnblogs.com/chy710/p/3791317.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!