首页
学习
活动
专区
圈层
工具
发布

python 模拟post上传图片

python  模拟post上传图片 小编在最近在学习用 python 做接口测试,其中有个上传图片的接口,在网上各种搜索,各种尝试。...下面是我慢慢摸索的过程,希望能帮助大家(ps:新手编写,欢迎拍砖) 1.使用poster第三方模块 如果要使用poster 则需要先 安装poster,这个方法虽然成功了 ,但我其他接口使用的是requests 和urllib2...poster.streaminghttp import register_openers import urllib2 # 在 urllib2 上注册 http 流处理句柄 register_openers...() # 开始对文件 "DSC0001.jpg" 的 multiart/form-data 编码 # "image1" 是参数的名字,一般通过 HTML 中的 标签的 name 参数设置...# headers 包含必须的 Content-Type 和 Content-Length # datagen 是一个生成器对象,返回编码过后的参数 datagen, headers = multipart_encode

2.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python urllib2和urllib的使用

    在Python中有很多库可以用来模拟浏览器发送请求抓取网页,本文中介绍使用urllib2来实现获取网页数据。...urllib2是在Python2标准库中的,无需安装即可使用,在Python3中不能使用urllib2,在Python3中urllib2被改为了urllib.request,所以本文中的代码在Python3...这时候需要在url中拼接查询字符串,Python的urllib库提供了urlencode方法来将字典转换成查询字符串,而urllib2没有urlencode,所以可以通过urllib生成查询字符串来给urllib2...key_dict = {"wd": "python"} headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit...获取到的页面与我们在百度首页搜索python的页面相同。 ? 四、使用urllib2发送POST请求 上面的例子中,我们使用的都是GET方法,接下来我们使用POST方法。

    1.2K40

    python爬虫入门(一)urllib和urllib2

    在Python中有很多库可以用来抓取网页,先学习urllib2。...urllib2模块直接导入就可以用,在python3中urllib2被改为urllib.request 开始爬虫需要准备的一些工具 (1)下载Fiddeler抓包工具,百度直接下载安装就可以(抓包) (...文件对象的操作方法 #read()方法就是读取文件里的全部内容,返回字符串 html = response.read() print html urllib2默认的User-Agent是Python-urllib...的主要区别  urllib和urllib2都是接受URL请求的相关模块,但是提供了不同的功能,最显著的区别如下: (1)urllib仅可以接受URL,不能创建,设置headers的request类实例;...(2)但是urllib提供urlencode()方法用来GET查询字符串的产生,而urllib2则没有(这是urllib和urllib2经常一起使用的主要原因) (3)编码工作使用urllib的urlencode

    2.1K60

    Python爬虫这么久了,它们三兄弟终于搞清楚了(干货)

    urllib,urllib2和 urllib3的区别 ? 01/11 周五 晴 ?...在可供使用的网络库中,urllib和urllib2可能是投入产出比最高的两个,是Python中操作url的官方标准库。它们让你能够通过网络访问文件,就像这些文件位于你的计算机中一样。...二、urllib2 Python2.x的一个例子: import urllib2 # 设置浏览器请求头 ua_headers={ "User-Agent":"Mozilla/5.0 (Windows...httplib比较底层,一般使用的话用urllib和urllib2即可。 ? 三、urllib3 urllib3功能强大且易于使用,用于HTTP客户端的Python库。.../form-data编码方式上传文件,可以使用和传入Form data数据一样的方法进行,并将文件定义为一个元组的形式(file_name,file_data): >>> with open('example.txt

    95410

    Python 爬虫(2)

    Urllib 模块 在python2和python3上有差异 在python2上,urllib和urllib2各有各的功能,虽然urllib2是urllib的包装、升级版,但是urllib2还是不能完全替代...urllib,而在python3中,则全部封装成1个类:urllib python2: import urllib import urllib2 python3: import urllib Request...中的urllib2和urllib的区别 (1)urllib2可以接收一个request对象,并以此可以来设置一个url的headers,但是urllib只可以接收一个url,这就意味着你不能通过urllib...(2)ullib模板可以提供运行urlencode的方法,该方法用于GET查询字符串的生成,urllib2不具备这样的功能,而且urllib.quote等一系列qoute和unquote功能没有被加入urllib2...这就是为什么有时候urllib和urllib2一起使用的原因。

    43810

    Python爬虫(八)_Requests的使用

    Requests:让HTTP服务人类 虽然Python的标准库中urllib2模块中已经包含了平常我们使用的大多数功能,但是它的API使用起来让人感觉不太好,而Requests自称"HTTP for Humans...Requests唯一的一个非转基因的Python HTTP库,人类可以安全享用 Requests继承了urllib2的所有特性。...参数) 如果需要使用代理,你可以通过为任意请求方法提供proxies参数来配置单个请求: import requests #根据协议内容,选择不同的代理 proxies = { "http":"...= proxies) print(response.text) 也可以通过本地环境变量HTTP_PROXY和HTTPS_PROXY来配置代理: export HTTP_PROXY="http://12.34.56.79...:9527" export HTTPS_PROXY="https://12.34.56.79:9527" 私密代理验证(特定格式)和Web客户端验证(auth参数) urllib2这里的做法比较复杂,requests

    1.6K90

    Python Requets库学习总结

    此封装的异常可能会因为不同python版本和JSON序列化库可能引发的多个异常提供互操作性。 需要注意的是,调用r.json()的成功调用并不表示响应的成功。.../form-data请求提交,你可能需要流式传输该请求。...如果没有为请求设置proxies请求参数的情况下,requests会尝试读取由标准环境变量 http_proxy, https_proxy, no_proxy和all_proxy定义的代理配置。...>>> proxies = {'http': 'http://user:pass@10.10.1.10:3128/'} 警告 将敏感的用户名和密码信息存储在环境变量或版本控制的文件中会带来安全风险,强烈建议不要这样做...如果要为特定shema和主机提供代理,请使用scheme://hostname作proxies字典参数的键来设置代理。这将匹配给定scheme和确切主机名的任何请求。

    1.6K20
    领券