📅  最后修改于: 2023-12-03 15:04:03.722000             🧑  作者: Mango
在Python中,我们可以使用内置的 urllib
库或者第三方库 requests
来发送HTTP请求,实现客户端功能。
使用urllib
发送HTTP请求需要以下步骤:
urllib
模块import urllib.request
在构建请求对象的过程中,需要先构建 Request
对象,设定请求的URL和请求头,在必要时也可以指定请求方法和请求体。
url = 'http://example.com/'
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'}
req = urllib.request.Request(url=url, headers=headers, method='GET')
with urllib.request.urlopen(req) as response:
html = response.read().decode('utf-8')
可以使用内置的 json
模块或者 beautifulsoup4
库等方式来解析响应数据。
requests
是一个优秀的HTTP库,可以方便地实现HTTP客户端功能。使用 requests
发送HTTP请求需要以下步骤:
requests
库并导入使用pip命令安装requests
库:
pip install requests
在Python代码中导入:
import requests
在构建请求对象的过程中,需要先构建 headers
字典对象,设定请求的URL和请求参数,也可以设置超时时间、证书信息等。
url = 'http://example.com/'
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'
}
params = {'key':'value'}
timeout = 3
resp = requests.get(url=url, headers=headers, params=params, timeout=timeout)
resp = requests.get(url=url, headers=headers, params=params, timeout=timeout)
html = resp.content.decode('utf-8')
可以使用内置的 json
模块或者 beautifulsoup4
库来解析响应数据。
使用Python的 urllib
或者 requests
库,可以非常方便地实现HTTP客户端功能。在实际开发中,根据具体需求选择合适的库,也可以结合其他库或者框架使用,比如 asyncio
、 Scrapy
等。