python post上传文件

1.使用urllib2原始的方式

import urllib2
__author__ = ‘huangjianan‘

def post_file(url,filepath,header):
    boundary = ‘IYhWIT-aMbWSbS32CkryLCcV4lp-3N‘
    #body
    pic_type=filepath.split(‘.‘)[-1]
    data = []
    data.append(‘--%s‘ % boundary)
    fr=open(filepath,‘rb‘)
    data.append(‘Content-Disposition: form-data; name="%s"; filename="test.%s"‘ % (‘avataFile‘,pic_type))
    data.append(‘Content-Type: image/%s\r\n‘ % pic_type)
    buffer=fr.read()
    data.append(buffer)
    fr.close()
    data.append(‘--%s--\r\n‘ % boundary)
    http_body=‘\r\n‘.join(data)
    req=urllib2.Request(url, data=http_body)
    #header
    for (k,v) in header.items():
        req.add_header(k,v)
    resp = urllib2.urlopen(req, timeout=5)
    response=resp.read()
    return response

  2.使用requests方式

import requests
headers = {‘content-type‘: ‘application/x-www-form-urlencoded; charset=UTF-8‘,
           ‘Accept-Encoding‘:‘gzip,deflate‘}
fileparams = {"Filedata": (filepath.split("/")[-1], open(abspath, "rb"), "application/octet-stream")}
r = requests.post(url, data={},files=fileparams, headers=headers)

  

时间: 2024-12-22 16:21:02

python post上传文件的相关文章

python +selenium上传文件

python +selenium上传文件 分为2部分 1.是input标签 driver.find_element_by_name("upload").send_keys('C:\\test.txt') 2.非input标签 https://blog.csdn.net/weixin_42024694/article/details/80080629 原文地址:https://www.cnblogs.com/ljf520hj/p/12181098.html

python requests上传文件 tornado 接收文件

requests 上传文件 import requests def images(): url = 'http://127.0.0.1:8889/upload/image' files = {'file': open('desktop.png', 'rb')} multiple_files = [ ('file', ('11.png', open('11.png', 'rb'), 'image/png')), ('file', ('desktop.png', open('desktop.png'

Python判断上传文件类型

在开发上传服务时,经常需要对上传的文件进行过滤. 本文为大家提供了python通过文件头判断文件类型的方法,非常实用. 代码如下 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 30 31 32 33 34 35 36 37 38 39 import struct  # 支持文件类型  # 用16进制字符串的目的是可以知道文件头是多少字节  # 各种文件头的长度不一样,少半2字符,长则8字

Python requests上传文件demo

#!/usr/bin/env python # -*- coding: utf-8 -*- import requests headers = {'uuid': '5cb572b7-c0a7-4d90-81a4-58d24f3e2949'} cookies={'Cookie':'pinId=9-Qim4TWS0e1ffsfn98I-w; unick=baiduyun; _tp=%2FS9%2FIuEE3omErKosHnjrkA%3D%3D; _pst=diwutest; shshshfpb=0

SFTP基于Key多进程批量并发上传文件实现案例(python)

最近在研究Paramiko,Paramiko可以非常方便的实现基于SSH协议的远程连接,可以基于 口令,也可以无口令RSA非对称密钥,亦可以实现SFTP上传下载操作,安全高效,再结合多 进程或者是多线程就可以实现并行处理,写了一个简单的SFTP基于Key多进程批量并发上传 文件的实现案例,供以后参考. 安装加密模块和Paramiko模块 下载:pycrypto-2.6.1.tar.gz paramiko-1.10.1.tar.gz 安装: tar -zxf pycrypto-2.6.1.tar.

Python模拟HTTP Post上传文件

使用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;

使用python或robotframework调multipart/form-data接口上传文件

这几天调一个multipart/form-data类型的接口,遇到点小阻碍.之前同事有使用urllib库写了个类似的方法实现,比较长,想要改的时候发现不太好使.在网上查找发现用requests库做这个更强大.下面具体介绍一下python-requests及robotframework-RequestsLibrary实现multipart/form-data接口上传文件.1.从fiddler查看接口长这样:Header: WebForms: 2.python-requests实现 #!/usr/b

用Python上传文件

Python正在吞噬这个世界!您会发现许多热情的Python程序员和同样多的批评者,但不可否认的是,Python在当今软件开发中是一个强大的.相关的.不断增长的力量. Python只是一种语言,语言不能解决业务问题,如工作流.体系结构和物流:这些都取决于您,开发人员!您选择的包.实现的架构和遵循的策略都将影响Python项目的成功.让我们看一下使用Python将文件上传到云中的过程.我将讨论每个团队在实现文件上传和管理解决方案时所面临的一些注意事项,然后给出一个简洁的菜谱,让您可以使用Files

Python脚本远程Linux创建目录、上传文件

最近这段时间,经常通过xftp在服务器上创建目录并上传文件,繁琐的事一直循环的做,因此一直在想通过Python脚本能自动创建目录,上传文件,询问公司大佬和百度终于找到了方法,接下来看看. 一. 说明 主要安装两个模块paramiko与scp,功能即可实现 paramiko是一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFTPClinet,即一个是远程连接,一个是上传下载服务),使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远