Python HTTP调用request模块

requests是通过urllib3实现自动发送HTTP/1.1请求,它能轻松的实现cookies,登陆验证,代理设置等操作。使用request可以更加方便处理http请求,处理返回数据,支持text,json数据类型处理。

模块安装

环境python3+ centos7+

pip install request

调用格式:

requests.request(method,url,**kwargs)

构造并发送一个request,返回一个response对象
参数:

  • method:  request对象的方法(GET|POST)
  • url:  request对象的URL
  • params:可选的,要在查询字符串中发送的字典或字节request
  • data:可选的,字典或元祖列表以表单编码,字节或类似文件的对象在主体中发送[(key,value)]
  • json:可选的,一个json可序列化的python对象,在主体中发送request
  • headers:可选的,用于编写http头信息
  • cookies:可选,用dict或cookieJar对象发送Cookies
  • file:可选,用于多部分编码上传的字典,可以是多元祖,其中是定义给定文件的内容类型的字符串,以及包含问文件添加的额外头文件的类字典对象
  • auth:可选,身份验证元祖,自定义http身份验证
  • timeout:可选,发送等待请求数据的超时时间(float/tuple),设置为元祖即为练级connect和read读取超时,如果设置为None即为永久等待
  • allow_redirects:布尔值,可选,启用或禁用GET,OPTIONS,POST,PUT,PATCH,DELETE,HEAD重定向,默认为true
  • proxies:可选,字典映射协议到代理的URL
  • verify:可选,可以是布尔值,可以指定验证服务器的TLS证书路径,默认为true
  • stream:可选,如果是False,响应内容将立即下载
  • cert:可选,如果是string,则为ssl客户端证书文件路径,如果是元祖则('cert','key')指定证书和密钥
from requests import request
#定义头信息发送请求返回response对象
header={
'User-Agent':'Mozilla/5.0 (Linux; U; Android 5.1.1; zh-cn; AOSP on Drone Build/LMY48G) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'
}
response=request('GET','https://www.baidu.com/',headers=header)
print(response.url) #返回请求的URL
print(response.status_code)  #返回状态码200
print(response.encoding)  #返回编码
print(response.text)  #返回响应的内容
print(response.headers) #返回头信息
print(response.cookies) #返回cookies
print(response.json()) #返回json数据

HTTP 常用调用方式

requests.head(url,**kwargs):发送head请求,url:网站URL地址,返回一个response对象

requests.get(url,params=None,**kwargs):发送GET请求,params:要在查询字符串中发送的字典或字节request,返回一个response对象

from requests import get
response=get('http://test.abctest.com/get',params={'name':'lily','pw':'123456'})#添加参数查询
print(response.text) #返回结果包含args参数,headers头信息,URL和IP信息

requests.post(url,data=None,json=None,**kwargs):发送POST请求,data:字典数据也可以是元组列表,将被表单编码,以字节或文件对象在数据主体中发送

import requests
data={'name':'lily','pw':'123456'}
rs = requests.post('http://test.abctest.com/post',data=data) #以表单数据发送数据
body=rs.json()  #获得字典格式的返回数据 

requests.put(url,data=None,**kwargs):发送PUT请求参数同POST一样,将返回一个response对象

requests.patch(url,data=None,**kwargs):发送PATCH请求
requests.delete(url,**kwargs):发送DELETE请求

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值