Python与HTTP服务交互,可以通过http.client requests RissionPage等。
http.client标准库
http.client
是Python标准库中的一个模块,用于发送HTTP请求。这个模块提供了一个低级别的接口,允许你手动构建HTTP请求并处理响应。下面是对 http.client
的详细介绍:
使用 http.client
发送HTTP请求通常涉及以下步骤:
创建连接:使用 http.client.HTTPSConnection
或 http.client.HTTPConnection
创建一个连接对象。
发送请求:使用连接对象的 request
方法发送请求。你需要指定请求方法(如 'GET'、'POST' 等)、请求的URI、以及可选的请求头和请求体。
获取响应:使用连接对象的 getresponse
方法获取响应对象。这个对象是一个 http.client.HTTPResponse
实例,它提供了对响应的访问。
读取响应内容:你可以使用响应对象的 read
方法读取响应体。
关闭连接:完成请求和响应处理后,记得关闭连接。
下面是一个使用 http.client
发送GET请求的示例:
- import http.client
-
- # 创建连接
- conn = http.client.HTTPSConnection("www.example.com")
-
- # 发送GET请求
- conn.request("GET", "/")
-
- # 获取响应
- response = conn.getresponse()
-
- # 输出响应状态码和响应体
- print(response.status, response.reason)
- print(response.read())
-
- # 关闭连接
- conn.close()
http.client
提供的是底层的HTTP通信功能,如果你想要更高级的功能,如自动处理重定向、连接池等,你可能需要考虑使用其他库,如 requests
requests
requests库是一个用Python语言编写的HTTP客户端库,基于urllib3模块,采用Apache2 Licensed开源协议。这个库使得发送HTTP请求变得简单且人性化。
pip install requests
- import requests
-
- # 发送GET请求到指定的URL
- response = requests.get('https://www.example.com')
-
- # 输出响应的状态码
- print(response.status_code)
-
- # 输出响应的内容
- print(response.text)
发送post
- import requests
-
- # 发送POST请求到指定的URL,并附带一些数据
- url = 'https://www.example.com/post'
- data = {'key1': 'value1', 'key2': 'value2'}
- response = requests.post(url, data=data)
-
- # 输出响应的状态码和内容
- print(response.status_code)
- print(response.text)
RissionPage 是一个基于 python 的网页自动化工具。
它既能控制浏览器,也能收发数据包,还能把两者合而为一。
可兼顾浏览器自动化的便利性和 requests 的高效率。
它功能强大,内置无数人性化设计和便捷功能。
它的语法简洁而优雅,代码量少,对新手友好。
个人理解,它是一个request的替代品
pip3 install drissionpage
输出信息:
- zan8in/afrog https://gitee.com/zanbin/afrog
- xieguigang/Darwinism https://gitee.com/xieguigang/Darwinism
- RTE-Dev/RedPlayer https://gitee.com/rte-dev/RedPlayer
- panday/chat-master-web https://gitee.com/panday94/chat-master-web