Python上传文件与robot Framework引用

上一篇 / 下一篇  2017-07-05 18:20:59 / 个人分类:测试工具


import requests;
import time
import urllib2;
import sys
import binascii
reload(sys)
sys.setdefaultencoding('utf-8')


class postfile(object):
    def __init__(self):
          pass

    def postfile(self,token,url,filepath,OwnFileName):
            headerstoken = {'X-Auth-Token': token}
    #     files = {'file': ('1.png', open('E:\\1.png', 'rb'), 'multipart/form-data', {'': ''})}
    #     r = requests.post(url, files=files,headers=headers)  
    #     return r.text
            boundary = '----------%s' % hex(int(time.time() * 1000))
            data = []
            data.append('--%s' % boundary)
            
            data.append('Content-Disposition: form-data; name="%s"\r\n' % 'parameter1filename')
            data.append(OwnFileName)
            data.append('--%s' % boundary)
            
            data.append('Content-Disposition: form-data; name="%s"\r\n' % 'parameter2')
            data.append('200')
            data.append('--%s' % boundary)
            
            data.append('Content-Disposition: form-data; name="%s"\r\n' % 'parameter3')
            data.append('200')
            data.append('--%s' % boundary)
            #mode='r', encoding='UTF-8'
            fr=open(r'E:\\MyProject\\BI\\a.jpg','rb')
            data.append('Content-Disposition: form-data; name="%s"; filename="a.jpg"' % 'file')
            data.append('Content-Type: %s\r\n' % 'image/jpg')
            data.append(fr.read())
            fr.close()
            data.append('--%s--\r\n' % boundary)
            http_body='\r\n'.join(data)
            try:
                #buld http request
                req=urllib2.Request(url, headers=headerstoken,data=http_body)
                #header
                req.add_header('Content-Type', 'multipart/form-data; boundary=%s' % boundary)
                req.add_header('User-Agent','Mozilla/5.0')
                #post data to server
                resp = urllib2.urlopen(req, timeout=5)
                #get response
                qrcont=resp.read()
                print qrcont
                
                
            except Exception,e:
                print 'http error'


-----------------以上代码是网上找的,确定可以运行,保存一下----------
http://www.cnblogs.com/51kata/p/5126227.html ----引用的过程可参考
目前还有一个问题,直接运行python调用接口可以成功;结果通过robot framework调用总是报编码错误。(以后解决)


TAG:

一颗奔腾的心的个人空间 引用 删除 一颗奔腾的心   /   2017-07-06 11:34:02
可以,加油,
一颗奔腾的心的个人空间 引用 删除 一颗奔腾的心   /   2017-07-06 11:33:28
5
 

评分:0

我来说两句

Open Toolbar