pythonrequests框架实例(Python requests模块实例用法)
类别:脚本大全 浏览量:1174
时间:2022-03-31 22:50:36 pythonrequests框架实例
Python requests模块实例用法1、Requests模块说明
Requests 是使用 Apache2 Licensed 许可证的 HTTP 库。用 Python 编写,真正的为人类着想。
Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。
在Python的世界里,事情不应该这么麻烦。
Requests 使用的是 urllib3,因此继承了它的所有特性。Requests 支持 HTTP 连接保持和连接池,支持使用 cookie 保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码。现代、国际化、人性化。
2、Requests模块安装
点此下载
然后执行安装
|
$ python setup.py install |
个人推荐使用pip安装
|
pip install requests |
也可以使用easy_install安装
|
easy_install requests |
尝试在IDE中import requests,如果没有报错,那么安装成功。
3、Requests模块简单入门
|
#HTTP请求类型 #get类型 r = requests.get( 'https://github.com/timeline.json' ) #post类型 r = requests.post( "http://m.ctrip.com/post" ) #put类型 r = requests.put( "http://m.ctrip.com/put" ) #delete类型 r = requests.delete( "http://m.ctrip.com/delete" ) #head类型 r = requests.head( "http://m.ctrip.com/head" ) #options类型 r = requests.options( "http://m.ctrip.com/get" ) #获取响应内容 print r.content #以字节的方式去显示,中文显示为字符 print r.text #以文本的方式去显示 #URL传递参数 payload = { 'keyword' : '日本' , 'salecityid' : '2' } r = requests.get( "http://m.ctrip.com/webapp/tourvisa/visa_list" , params = payload) print r.url #示例为http://m.ctrip.com/webapp/tourvisa/visa_list?salecityid=2&keyword=日本 #获取/修改网页编码 r = requests.get( 'https://github.com/timeline.json' ) print r.encoding r.encoding = 'utf-8' #json处理 r = requests.get( 'https://github.com/timeline.json' ) print r.json() #需要先import json #定制请求头 url = 'http://m.ctrip.com' headers = { 'User-Agent' : 'Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 4 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19' } r = requests.post(url, headers = headers) print r.request.headers #复杂post请求 url = 'http://m.ctrip.com' payload = { 'some' : 'data' } r = requests.post(url, data = json.dumps(payload)) #如果传递的payload是string而不是dict,需要先调用dumps方法格式化一下 #post多部分编码文件 url = 'http://m.ctrip.com' files = { 'file' : open ( 'report.xls' , 'rb' )} r = requests.post(url, files = files) #响应状态码 r = requests.get( 'http://m.ctrip.com' ) print r.status_code #响应头 r = requests.get( 'http://m.ctrip.com' ) print r.headers print r.headers[ 'Content-Type' ] print r.headers.get( 'content-type' ) #访问响应头部分内容的两种方式 #Cookies url = 'http://example.com/some/cookie/setting/url' r = requests.get(url) r.cookies[ 'example_cookie_name' ] #读取cookies url = 'http://m.ctrip.com/cookies' cookies = dict (cookies_are = 'working' ) r = requests.get(url, cookies = cookies) #发送cookies #设置超时时间 r = requests.get( 'http://m.ctrip.com' , timeout = 0.001 ) #设置访问代理 proxies = { "http" : "http://10.10.10.10:8888" , "https" : "http://10.10.10.100:4444" , } r = requests.get( 'http://m.ctrip.com' , proxies = proxies) |
xml请求
|
#!/user/bin/env python #coding=utf-8 import requests class url_request(): def __init__(self): """ init """ if __name__=='__main__': headers = {'Content-type': 'text/xml'} XML = '<? xml version = "1.0" encoding = "utf-8" ?>< soap:Envelope xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd = "http://www.w3.org/2001/XMLSchema" xmlns:soap = "http://schemas.xmlsoap.org/soap/envelope/" >< soap:Body >< Request xmlns = "http://tempuri.org/" >< jme >< JobClassFullName >WeChatJSTicket.JobWS.Job.JobRefreshTicket,WeChatJSTicket.JobWS</ JobClassFullName >< Action >RUN</ Action >< Param >1</ Param >< HostIP >127.0.0.1</ HostIP >< JobInfo >1</ JobInfo >< NeedParallel >false</ NeedParallel ></ jme ></ Request ></ soap:Body ></ soap:Envelope >' url = 'http://jobws.push.mobile.xxxxxxxx.com/RefreshWeiXInTokenJob/RefreshService.asmx' r = requests.post(url,headers=headers,data=XML) #r.encoding = 'utf-8' data = r.text print data |
您可能感兴趣
- python3.5 tkinter教程(解决python3.5 正常安装 却不能直接使用Tkinter包的问题)
- python四舍五入怎么用(python3 小数位的四舍五入用两种方法解决round 遇5不进)
- pythonredis使用场景(python 通过SSHTunnelForwarder隧道连接redis的方法)
- python中递归方法(Python中最大递归深度值的探讨)
- python在mysql创建数据库(python3对接mysql数据库实例详解)
- python怎么用pandas读取两列数据(python 利用pandas将arff文件转csv文件的方法)
- python的三维画图(python处理DICOM并计算三维模型体积)
- python 装饰器模式(python重试装饰器的简单实现方法)
- python把文件上传服务器(Python 实现两个服务器之间文件的上传方法)
- python标准库操作键盘(Python中捕获键盘的方式详解)
- python时间序列模式识别(Python时间序列处理之ARIMA模型的使用讲解)
- pythonopt用法(Python语言检测模块langid和langdetect的使用实例)
- python如何把字符串转换成数字(python实现字符串加密成纯数字)
- 如何用python识别微信内容(Python 实现微信防撤回功能)
- 抖音上很火的表白程序链接(我喜欢你 抖音表白程序python版)
- python画佩奇(啥是佩奇?使用Python自动绘画小猪佩奇的代码实例)
- 一道高中题-求杯子的高度(一道高中题-求杯子的高度)
- 网坛停摆三巨头亏损惨重,费德勒跌幅88 纳达少赚2400万(网坛停摆三巨头亏损惨重)
- Beyond 版本《无人深空》主线任务攻略 阿特拉斯之道(版本无人深空主线任务攻略)
- 全球科技界最有钱大佬TOP 15 你知道几位(全球科技界最有钱大佬TOP)
- 2主力后腰缺阵 泰山队奇兵有望获重用,赛季0出场,迎来中超首秀(泰山队奇兵有望获重用)
- 三分71 生死战爆发 篮网旧将丁威迪今天成奇兵,助队赢球(三分71生死战爆发)
热门推荐
- js弹出新窗口被拦截的解决方法
- 租用服务器收费标准(网站服务器租用多少钱?)
- python中递归方法(Python中最大递归深度值的探讨)
- dedecms关键词功能(DedeCms 5.7 代码高亮实现方法)
- dockerfile 添加yum文件(使用YUM 安装 docker的方法步骤)
- docker安装openoffice镜像(docker安装部署 onlyoffice的详细过程)
- python找到连续不重复最长英文串(Python实现简单查找最长子串功能示例)
- python判断对象是否是某一类型(Python判断对象是否相等及eq函数的讲解)
- laravel-admin代码执行流程(解决laravel-admin 自己新建页面里 js 需要刷新一次的问题)
- 闭包python讲解(详解Python循环作用域与闭包)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9