requests模块如何在Python项目中使用

本篇文章给大家分享的是有关requests模块如何在Python项目中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

1、Requests模块说明

requests模块如何在Python项目中使用

Requests 是使用 Apache2 Licensed 许可证的 HTTP 库。用 Python 编写,真正的为人类着想。

Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。

在Python的世界里,事情不应该这么麻烦。

Requests 使用的是 urllib3,因此继承了它的所有特性。Requests 支持 HTTP 连接保持和连接池,支持使用 cookie 保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码。现代、国际化、人性化。

2、Requests模块安装

$pythonsetup.pyinstall

个人推荐使用pip安装

pipinstallrequests

也可以使用easy_install安装

easy_installrequests

尝试在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")

#获取响应内容
printr.content#以字节的方式去显示,中文显示为字符
printr.text#以文本的方式去显示

#URL传递参数
payload={'keyword':'日本','salecityid':'2'}
r=requests.get("http://m.ctrip.com/webapp/tourvisa/visa_list",params=payload)
printr.url#示例为http://m.ctrip.com/webapp/tourvisa/visa_list?salecityid=2&keyword=日本

#获取/修改网页编码
r=requests.get('https://github.com/timeline.json')
printr.encoding
r.encoding='utf-8'

#json处理
r=requests.get('https://github.com/timeline.json')
printr.json()#需要先importjson

#定制请求头
url='http://m.ctrip.com'
headers={'User-Agent':'Mozilla/5.0(Linux;Android4.2.1;en-us;Nexus4Build/JOP40D)AppleWebKit/535.19(KHTML,likeGecko)Chrome/18.0.1025.166MobileSafari/535.19'}
r=requests.post(url,headers=headers)
printr.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')
printr.status_code

#响应头
r=requests.get('http://m.ctrip.com')
printr.headers
printr.headers['Content-Type']
printr.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/envpython
#coding=utf-8
importrequests

classurl_request():
def__init__(self):
"""init"""

if__name__=='__main__':

headers={'Content-type':'text/xml'}
XML='<?xmlversion="1.0"encoding="utf-8"?><soap:Envelopexmlns: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><Requestxmlns="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
printdata

以上就是requests模块如何在Python项目中使用,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注恰卡编程网行业资讯频道。

发布于 2021-03-17 20:55:43
收藏
分享
海报
0 条评论
171
上一篇:argpare与click模块怎么在python中使用 下一篇:如何在Node.js项目中使用OS模块
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码