Python Requests 库基本命令


1、发送请求

# 发送 get 请求
r = requests.get("http://httpbin.org/get")
# 发送 post 请求
r = requests.post("http://httpbin.org/post", data={"key":"value"})

2、请求参数

r = requests.get(url, params=None, **kwargs)
'''
    url:url 地址
    params:url 中额外的参数(字典或字节流格式,可选)
    **kwargs:12个控制访问的参数
'''

3、属性

3.1、常用属性

r.text                  # 返回 HTTP 响应 url 对应的 html 页面内容(文本)
r.content               # 返回 HTTP 响应内容的二进制形式(图片)
r.encoding              # 推测 HTTP 头部对响应的编码
r.apparent_encoding     # 从内容中分析响应内容的编码方式(备选编码方式)

3.2、其他属性

r = requests.get('http://httpbin.org/get')

print(type(r.status_code), r.status_code)     # 获取响应状态码
print(type(r.headers), r.headers)             # 获取响应头信息
print(type(r.cookies), r.cookies)             # 获取响应头信息(cookies)
print(type(r.url), r.url)                     # 获取访问的 url
print(type(r.history), r.history)             # 获取访问的历史记录

4、异常

requests.ConnectionError      # 网络连接异常(如:DNS 查询失败、拒绝连接等)
requests.HTTPError            # HTTP 错误异常
requests.URLRequired          # URL 缺失异常
requests.TooManyRedirects     # 超过最大重定向次数,产生重定向异常
requests.ConnectTimeout       # 连接远程服务器超时异常
requests.Timeout              # 请求 URL 超时,产生超时异常

5、主要方法解析

r = requests.request(method="GET", url=url, **kwargs)
r = requests.get(url, **kwargs)

r = requests.request(method="POST", url=url, **kwargs)
r = requests.post(url, **kwargs)

其中:**kwargs 为控制访问的参数(均为可选项)

参数说明类型
params作为参数增加到 url 中字典、字节序列
data作为 Request 的内容字典、字节序列、文件对象
json作为 Request 的内容JSON 格式的数据
headersHTTP 定制请求头字典
cookieRequest 中的 cookie字典、CooKiJar
auth支持 HTTP 认证功能元组
files传输文件字典
timeout设定超时时间(单位:秒)
proxies设定访问代理服务器,可以增加登录认证字典
allow_redirects重定向开关(True/False,默认为 True)
stream获取内容立即下载开关(True/False,默认为 True)
verity认证ssl证书开关(True/False,默认为 True)
cert本地ssl证书路径

6、SSL 证书验证

Requests 可以为 HTTPS 请求验证 SSL 证书,就像 web 浏览器一样。SSL 验证默认是开启的,如果证书验证失败,Requests 会抛出异常 SSLError

为了避免这种情况的发生可以通过 verify=False 这样是可以访问到页面,但是会提示:

InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings InsecureRequestWarning)

解决方法为:

from requests.packages import urllib3
urllib3.disable_warnings()     # 就这一句可以解决
r = requests.get("http://httpbin.org/get", verify=False)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值