版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/boyun58/article/details/85044637
http或超文本传输协议适用于客户端服务器模型。通常,Web浏览器是客户端,托管该网站的计算机是服务器。在python中,我们使用requests模块来创建http请求。它是一个非常强大的模块,可以处理简单请求和响应数据之外的http通信的许多方面。它可以处理身份验证,压缩/解压缩,分块请求等。
HTTP客户端以请求消息的形式向服务器发送HTTP请求,其中包括以下格式:
- 请求行
- 零个或多个标题(General | Request | Entity)字段后跟CRLF
- 空行(即CRLF前面没有任何内容的行),表示标题字段的结尾
- 可选的消息体
请求方法
请求方法指示对由给定Request-URI标识的资源执行的方法。该方法区分大小写,应始终以大写形式提及。下表列出了HTTP / 1.1中支持的所有方法。
SN | 方法和描述 |
---|---|
GET | 方法用于使用给定的URI从给定服务器检索信息。使用GET的请求应仅检索数据,并且不应对数据产生其他影响。 |
HEAD | 与GET相同,但它仅传输状态行和标题部分。 |
POST | 请求用于使用HTML表单向服务器发送数据,例如客户信息,文件上传等。 |
PUT | 用上传的内容替换目标资源的所有当前表示。 |
DELETE | 删除URI给出的目标资源的所有当前表示。 |
CONNECT | 建立到给定URI标识的服务器的隧道。 |
OPTIONS | 描述目标资源的通信选项。 |
TRACE | 执行消息循环测试以及目标资源的路径。 |
请求URI
Request-URI是统一资源标识符,用于标识应用请求的资源。以下是指定URI的最常用表单:
Request-URI = "*" | absoluteURI | abs_path | authority
SN | 方法和描述 |
---|---|
1 | 当HTTP请求不适用于特定资源但使用服务器本身时,将使用星号*,并且仅当使用的方法不一定适用于资源时才允许使用星号*。例如: OPTIONS * HTTP/1.1 |
2 | Request-URI的最常见形式是用于标识源服务器或网关上的资源。例如,希望直接从源服务器检索资源的客户端将创建到主机“www.w3.org”的端口80的TCP连接,并发送以下行:GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1 |
3 | Request-URI的最常见形式是用于标识源服务器或网关上的资源。例如,希望直接从源服务器检索资源的客户端将创建到主机“www.w3.org”的端口80的TCP连接,并发送以下行:GET /pub/WWW/TheProject.html HTTP/1.1; Host: www.w3.org |
注意绝对路径不能为空; 如果原始URI中不存在,则必须以“/”(服务器根目录)给出。
使用Python模块requests请求
- 安装
pip install requests
例
import requests
r = requests.get('https://map.baidu.com/')
print(r.text)