request库

发布时间 2023-03-30 17:34:18作者: Aedline

一. request.request() 函数

`requests.request()` 是 Python 中 `requests` 库中最基本的请求方法,用于发送 HTTP 请求。下面是各个参数的详细讲解:

  1. `method`:请求方法,可以是 `'GET'`、`'POST'`、`'PUT'`、`'DELETE'` 等。默认为 `'GET'`。

  2. `url`:请求的 URL 地址。

  3. `params`:请求参数,可以是字典、元组列表或字节流。如果是字典或元组列表,会自动转换为 URL 编码的字符串并附加在 URL 后面。

  4. `data`:请求正文数据,可以是字典、元组列表或字节流。如果是字典或元组列表,会自动转换为表单形式并发送。如果是字节流或文件对象,会直接发送。

  5. `json`:请求正文数据,以 JSON 格式发送。如果同时存在 `data` 和 `json`,优先使用 `json`。

  6. `headers`:请求头,可以是字典或者类字典对象,用于设置 HTTP 请求头。

  7. `cookies`:请求的 cookies,可以是字典或者 CookieJar 对象,用于设置 HTTP cookies。

  8. `auth`:认证信息,可以是元组或者 AuthBase 类型对象,用于设置 HTTP 认证信息。

  9. `files`:上传的文件,可以是字典或者元组列表,用于上传文件。

  10. `timeout`:请求超时时间,可以是一个浮点数或元组,分别表示连接超时时间和读取超时时间。

  11. `allow_redirects`:是否允许重定向,可以是一个布尔值或者是一个 `RequestRedirect` 对象。

  12. `proxies`:代理服务器,可以是字典或者字符串,用于设置代理服务器。

  13. `verify`:SSL 证书验证,可以是布尔值、字符串或者一个 `ssl.SSLContext` 对象,用于设置 SSL 证书验证。

  14. `stream`:是否使用流模式,可以是一个布尔值或者是一个整数,用于设置是否使用流模式。

 

 

二. Http请求中的headers

HTTP 响应头(Response Headers)是服务器响应客户端请求时返回的一些元数据,用于向客户端传递一些附加信息。下面是一些常见的 HTTP 响应头字段及其意义:

1. `Content-Type`:响应正文的 MIME 类型,例如 `text/html`、`application/json` 等。

2. `Content-Length`:响应正文的长度(以字节为单位)。

3. `Content-Encoding`:响应正文的编码方式,例如 `gzip`、`deflate` 等。

4. `Content-Language`:响应正文的语言,例如 `en-US`、`zh-CN` 等。

5. `Content-Disposition`:指示浏览器如何处理响应正文,例如 `attachment; filename="filename.png"` 表示以附件形式下载文件。

            

 

 

6. `Cache-Control`:控制浏览器或代理服务器缓存响应的行为,例如 `no-cache`、`max-age=3600` 等。

7. `Expires`:指定响应过期的时间,通常使用 HTTP 格式的日期时间字符串表示。

8. `Last-Modified`:指定响应正文的最后修改时间,通常使用 HTTP 格式的日期时间字符串表示。

9. `Location`:用于重定向,指示客户端应该访问的新 URL。

10. `Set-Cookie`:用于设置 HTTP cookies,通常在响应中返回多个 `Set-Cookie` 头部,以设置多个 cookies。

11. `X-Powered-By`:指示响应使用的服务器软件,可能会泄露服务器的信息,因此不应该在生产环境中使用。

12. `Server`:指示响应使用的服务器软件,与 `X-Powered-By` 类似,可能会泄露服务器的信息,因此不应该在生产环境中使用。