- Python网络编程简介
- Python网络编程开发环境
- Python Internet协议模块
- Python IP地址
- Python DNS查找
- Python路由
- Python HTTP请求
- Python HTTP响应
- Python HTTP标头
- Python自定义HTTP请求
- Python请求状态代码
- Python HTTP验证
- Python HTTP数据下载
- Python连接重用
- Python网络接口
- Python Socket程序
- Python HTTP客户端
- Python HTTP服务器
- Python构建URL
- Python Web表单提交
- Python数据库和SQL
- Python Telnet
- Python电子邮件
- Python SMTP
- Python POP3
- Python IMAP
- Python SSH
- Python FTP
- Python SFTP
- Python Web服务器
- Python上传数据
- Python代理服务器
- Python列出目录
- Python远程过程调用
Python自定义HTTP请求
超文本传输协议(HTTP)是用于启用客户端和服务器之间的通信的协议。它用作客户端和服务器之间的请求-响应协议。请求设备称为客户端,发送响应的设备称为服务器。
urllib是传统的python库,在python程序中用于处理http请求。但是现在有了urllib3,它的功能比urllib过去的要多。我们导入urllib3库,以查看python如何使用它来发出http请求并接收响应。可以通过选择请求方法来自定义请求的类型。
pip install urllib3
示例
在下面的示例中,我们使用PoolManager()
对象来处理http请求的连接详细信息。接下来使用request()
对象通过POST方法发出一个http请求。最后,还使用json库以json格式打印接收到的值。
import urllib3 import json http = urllib3.PoolManager() r = http.request( 'POST', 'http://httpbin.org/post', fields={'field': 'value'}) print json.loads(r.data.decode('utf-8'))['form']
执行上面示例代码,得到以下结果:
{field': value'}
使用查询的URL
还可以传递查询参数来构建自定义URL。在下面的示例中,request方法使用查询字符串中的值来完成URL,该URL可以被python程序中的另一个函数进一步使用。
import requests query = {'q': 'river', 'order': 'popular', 'min_width': '800', 'min_height': '600'} req = requests.get('https://pixabay.com/en/photos/', params=query) print(req.url)
执行上面示例代码,得到以下结果:
https://pixabay.com/en/photos/?q=river&min_width=800&min_height=600&order=popular
上一篇:Python HTTP标头
下一篇:Python请求状态代码
扫描二维码
程序员编程王