python库(12):Requests库实现HTTP请求

1 Requests库

Requests是一个极为流行的HTTP库,它允许你发送各种类型的HTTP请求。无论是GET、POST、PUT、DELETE还是其他类型的请求,Requests都能轻松搞定。

虽然还有其他HTTP库,但Requests库以其简洁的API和人性化的设计脱颖而出。它隐藏了HTTP协议的复杂性,让开发者可以专注于业务逻辑,而不是底层的网络细节。此外,Requests库支持Python 2.7和3.4+版本,这使得它能够覆盖广泛的用户群体。

2 安装Requests库

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pydantic

3 基本用法

3.1 GET请求

import requests

#发送GET请求
response = requests.get("https://www.baidu.com")


# 检查请求是否成功
if response.status_code == 200:
    print(response.text)
else:
    print('请求失败,状态码:', response.status_code)

结果如下:

3.2 POST请求

import requests

# 发送POST请求
response = requests.post('https://www.example.com/submit', data={'key1': 'value1', 'key2': 'value2'})

# 检查请求是否成功
if response.status_code == 200:
    print(response.text)
else:
    print('请求失败,状态码:', response.status_code)

3.3 处理Headers和Cookies

在某些情况下,你可能需要在请求中添加自定义的Headers或Cookies。Requests库也提供了相应的方法来处理这些情况:

import requests

# 添加Headers
headers = {'User-Agent': 'my-app/0.0.1'}

# 添加Cookies
cookies = {'cookie_name': 'cookie_value'}

response = requests.get('https://www.example.com', headers=headers, cookies=cookies)

3.4 会话和连接池

Requests库还支持会话(Session)的使用,这可以帮助你维持某些参数和Cookies跨越多个请求。这对于需要保持状态的Web应用非常有用:

import requests

# 创建一个Session对象
session = requests.Session()

# 使用Session发送请求
response = session.get('https://www.example.com', headers={'User-Agent': 'my-app/0.0.1'})

# 再次使用Session发送请求,可以保持Cookies等状态
another_response = session.get('https://www.example.com/another_page')

3.5 异常处理

在发送请求时,可能会遇到各种网络问题或其他异常。Requests库提供了异常处理机制,帮助你更好地控制程序的流程:

import requests

try:
    response = requests.get('https://www.example.com', timeout=0.01)  # 超时时间设置为0.01秒
except requests.exceptions.Timeout:
    print('请求超时')
except requests.exceptions.RequestException as e:
    print('请求异常:', e)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不死鸟.亚历山大.狼崽子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值