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 |
您可能感兴趣
- python解析身份证号(python验证身份证信息实例代码)
- python中return 类的实例(Python实现Event回调机制的方法)
- python numpy数组拼接(Python快速转换numpy数组中Nan和Inf的方法实例说明)
- python提取字符串中的正则表达式(python3正则提取字符串里的中文实例)
- pythonexcel生成报表(python生成每日报表数据Excel并邮件发送的实例)
- docker python如何运行(Docker容器化部署Python应用过程解析)
- 如何利用python编写日期的程序(Python读取指定日期邮件的实例)
- python获取excelsheet名称(python查询文件夹下excel的sheet名代码实例)
- python类定义(浅谈python新式类和旧式类区别)
- python类中的数据封装(基于python生成器封装的协程类)
- python中的eval函数的用法(Python eval的常见错误封装及利用原理详解)
- python字符串找一个最大字符(Python查找最长不包含重复字符的子字符串算法示例)
- python响应处理post请求(Python3模拟curl发送post请求操作示例)
- python包和模块管理(python的依赖管理的实现)
- python中如何定义带走参数的函数(Python函数定义及传参方式详解4种)
- pythonlambda是什么函数(Python之lambda匿名函数及map和filter的用法)
- 红色文化进国企(红色文化进国企)
- 车友的选择| 轮毂该如何选(车友的选择轮毂该如何选)
- 秦海璐炫耀和王新军热恋蜜事,不料对方吐槽她吃饱后肚子撅老高(秦海璐炫耀和王新军热恋蜜事)
- 秦海璐一袭旗袍惹人倾心,将高级与淡雅展现的游刃有余(秦海璐一袭旗袍惹人倾心)
- 门外之见 海蛎子味 的表演,能走多远(门外之见海蛎子味)
- 三部冷门谍战剧,第一部2014年拍摄,至今还未播出(三部冷门谍战剧)
热门推荐
- html样式中css怎么设置行高(CSS设置HTML元素的高度与宽度的各种情况总结)
- dedecms频道封面不能修改内容(dedecms按栏目名首字母/数字排序输出的实现方法)
- 如何判断sql中的字符(SQL中字符串中包含字符的判断方法)
- vue基础语法对象(浅析从面向对象思维理解Vue组件)
- phpstudy如何部署在linux上(phpstudy linux面板CC防护功能使用教程)
- docker构建本地镜像(Docker创建本地镜像实现方法解析)
- springboot项目部署到docker(IDEA 通过docker插件发布springboot项目的详细教程)
- sql server 判断 null
- react表单组件怎么写(react antd实现动态增减表单)
- 软件测试常用mysql语句(MySQL压力测试工具Mysqlslap的使用)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9