一文入门requests请求库使用

引言

requests 是 Python 中一个非常流行的 HTTP 库,用于发送各种类型的 HTTP 请求。它简洁易用,能够很好地处理请求和响应。下面我将通过一个简单的例子来介绍 requests 库的基本使用方法。

安装 requests

首先,你需要确保你的 Python 环境中安装了 requests 库。如果还没有安装,可以通过 pip 来安装:

pip install requests

发送 GET 请求

使用 requests 发送 GET 请求非常直接。以下是一个基本的例子,展示如何发送 GET 请求并获取网页内容:

import requests 


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


# 获取状态码 
print(response.status_code) 


# 获取响应内容(以文本形式) 
print(response.text) 


# 如果你期望的是 JSON 数据,可以这样做 
# print(response.json())

发送 POST 请求

发送 POST 请求同样简单,你只需要调用 requests.post() 方法,并可能需要传递一些数据。数据通常以字典形式给出,然后库会自动帮你将其编码为表单数据或 JSON(取决于传递给 data 或 json 参数的内容)。

import requests 


# 发送 POST 请求,以表单数据的形式 
data = {'key': 'value'} 
response = requests.post('https://httpbin.org/post', data=data) 


# 获取响应文本 
print(response.text) 


# 发送 JSON 数据 
json_data = {'key': 'value'} 
response = requests.post('https://httpbin.org/post', json=json_data) 


# 获取响应的 JSON 内容 
print(response.json())

添加请求头

有时,你需要在请求中添加特定的头部信息(比如 User-Agent 或者 Authorization)。这可以通过在请求方法中传递一个 headers 字典来实现。


	import requests 

	

	headers = { 

	'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' 

	} 

	

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

	print(response.text)

处理异常

在进行网络请求时,难免会遇到请求失败的情况,比如连接超时、DNS 查询失败等。requests 库会抛出相应的异常,你应该处理这些异常以确保程序的健壮性。


	import requests 

	from requests.exceptions import RequestException 

	


	try: 

	response = requests.get('https://invalid-url.com') 

	response.raise_for_status() # 如果响应状态码不是 200,将抛出 HTTPError 异常 

	print(response.text) 

	except RequestException as e: 

	print(e)

这就是 requests 库的基本使用方法。requests 提供了更多的功能,比如文件上传、会话(Session)对象以保存 cookie 等,但以上内容已经足够你开始使用 requests 来进行 HTTP 请求了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值