python form-data post上传数据简便方法

有时要用到 form-data 这种形式post 上传文件到服务器,下面介绍使用python 实现的简便方法。

python form-data post上传数据简便方法

方法一,使用 urllib2 自己打包

自己封装form-data 也很方便

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
def test():
    #boundary只要是随机不同的就行
    boundary = '----------%s' % hex(int(time.time() * 1000))
    data = []
    data.append('--%s' % boundary)

    fr=open(r'test2.jpg','rb')
    data.append('Content-Disposition: form-data; name="%s"; filename="new_test2.jpg"' % 'file')
    data.append('Content-Type: %s\r\n' % 'image/jpeg')
    data.append(fr.read())
    fr.close()
    data.append('--%s--\r\n' % boundary)

    #http_url='http://remotserver.com/page.php'
    http_url = 'http://xxx/v1/upload'
    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)#最重要的一行

        #post data to server
        resp = urllib2.urlopen(req, timeout=5)
        #get response
        qrcont=resp.read()
        print qrcont
    except Exception,e:
        print 'http error'

方法二,使用request

更简洁

1
2
3
4
5
import requests
        url = 'xxx'
        files={'file':('newname.jpg',open('localname.jpg','rb'),'image/jpeg')}
        rsp=requests.post(url,files=files)
        print(rsp.request.text)

本文网址: https://pylist.com/topic/152.html 转摘请注明来源

Suggested Topics

python 半角全角的相互转换

全角与半角在中文输入法里经常要接触到,后台在处理用户输入数据时需要对半角全角的相互转换。下面是python 实现的半角全角的相互转换功能。...

Android webview input file 上传图片

webview 载入的网页里的 input file 点击后无法弹出窗口,是系统为了安全问题屏蔽了,可以通过重写`setWebChromeClient` 实现系统调用。...

python 解析电子书的信息

epub 书是可供人们下载的开放性资源格式的电子图书。epub 文件通常与类似亚马逊Kindle 这样的电子阅读器不兼容。...

给ssdb python 接口提速

SSDB 是个新兴的数据库,其数据库的特点简单,性能高效,有好多python 接口,个人比较后选择一个最理想的,但还有提速空间,这里仅作经验分享。...

python 使用 magic 从文件内容判断文件类型

使用 python-magic 库可以轻松识别文件的类型,python-magic是libmagic文件类型识别库的python接口。libmagic通过根据预定义的文件类型列表检查它们的头文件来识别文件类型。 ...

python 对中文链接安全转码

当一个链接里包含中文时,有些浏览器并不能正确解析,这就需要首先对中文作安全转码,这里介绍用 python 对中文链接安全转码,...

Leave a Comment