📜  响应方法 – Python请求

📅  最后修改于: 2022-05-13 01:55:03.035000             🧑  作者: Mango

响应方法 – Python请求

当向 URI 发出请求时,它会返回响应。就Python而言,这个 Response 对象由 requests.method() 返回,方法是 get、post、put 等。Response 是一个强大的对象,具有许多有助于规范化数据或创建理想代码部分的函数和属性。例如, response.status_code从 headers 本身返回状态代码,可以检查请求是否成功处理。
响应对象可用于暗示许多特性、方法和功能。
例子 :

Python3
# import requests module
import requests
 
# Making a get request
response = requests.get('https://api.github.com/')
 
# print request object
print(response.url)
 
# print status code
print(response.status_code)


Python3
# import requests module
import requests
 
# Making a get request
response = requests.get('https://api.github.com')
 
# print response
print(response)
 
# print json content
print(response.json())


Python3
# import requests module
import requests
 
# Making a get request
response = requests.get('https://api.github.com/')
 
# print response
print(response)
 
# print if status code is less than 200
print(response.ok)


Python3
# import requests module
import requests
 
# Making a get request
response = requests.get('https://api.github.com/')
 
# print response
print(response)
 
# print request status_code
print(response.status_code)


Python3
# import requests module
import requests
 
# Making a get request
response = requests.get('https://api.github.com')
 
# print response
print(response)
 
# print headers of response
print(response.headers)


Python3
import requests
 
# Making a get request
response = requests.get('https://api.github.com')
 
# printing request content
print(response.content)


将此文件保存为 request.py,并使用以下命令运行

Python request.py

响应-python-请求

状态码 200 表示请求成功。

应对方法

MethodDescription
response.headersresponse.headers returns a dictionary of response headers.
response.encodingresponse.encoding returns the encoding used to decode response.content.
response.elapsedresponse.elapsed returns a timedelta object with the time elapsed from sending the request to the arrival of the response.
response.close()response.close() closes the connection to the server.
response.contentresponse.content returns the content of the response, in bytes.
response.cookiesresponse.cookies returns a CookieJar object with the cookies sent back from the server.
response.historyresponse.history returns a list of response objects holding the history of request (url).
response.is_permanent_redirectresponse.is_permanent_redirect returns True if the response is the permanent redirected url, otherwise False.
response.is_redirectresponse.is_redirect returns True if the response was redirected, otherwise False.
response.iter_content()response.iter_content() iterates over the response.content.
response.json()response.json() returns a JSON object of the result (if the result was written in JSON format, if not it raises an error).
response.urlresponse.url returns the URL of the response.
response.textresponse.text returns the content of the response, in unicode.
response.status_coderesponse.status_code returns a number that indicates the status (200 is OK, 404 is Not Found).
response.requestresponse.request returns the request object that requested this response.
response.reasonresponse.reason returns a text corresponding to the status code.
response.raise_for_status()response.raise_for_status() returns an HTTPError object if an error has occurred during the process.
response.okresponse.ok returns True if status_code is less than 200, otherwise False.
response.linksresponse.links returns the header links.

常用的响应方法

一些方法最常用于响应,例如 response.json()、response.status_code、response.ok 等。Requests 主要用于向 API(应用程序编程接口)发出 http 请求。这里讨论了一些常用的响应方法——

响应.json()

response.json()返回结果的 JSON 对象(如果结果是以 JSON 格式编写的,否则会引发错误)。

如何通过Python请求使用 response.json()?

为了说明 response.json() 的使用,让我们 ping geeksforgeeks.org。要运行此脚本,您需要在 PC 上安装Python和 requests。

示例代码 –

Python3

# import requests module
import requests
 
# Making a get request
response = requests.get('https://api.github.com')
 
# print response
print(response)
 
# print json content
print(response.json())

示例实现——

将上述文件另存为 request.py 并使用

Python request.py

输出 -

response.json-Python-requests

检查终端输出的json 内容。这基本上返回一个Python字典。

响应.ok

如果 status_code 小于 200, response.ok返回 True,否则返回 False。

如何使用Python请求使用 response.ok?

为了说明 response.ok 的使用,让我们 ping geeksforgeeks.org。要运行此脚本,您需要在 PC 上安装Python和 requests。

示例代码 –

Python3

# import requests module
import requests
 
# Making a get request
response = requests.get('https://api.github.com/')
 
# print response
print(response)
 
# print if status code is less than 200
print(response.ok)

示例实现——

将上述文件另存为 request.py 并使用

Python request.py

输出 -

response.ok-Python 请求

检查与请求条件小于或等于 200 匹配的True

response.status_code

response.status_code返回一个表示状态的数字(200 是 OK,404 是 Not Found)。

如何使用Python请求使用 response.status_code?

为了说明 response.status_code 的使用,让我们 ping api.github.com。要运行此脚本,您需要在 PC 上安装Python和 requests。

示例代码 –

Python3

# import requests module
import requests
 
# Making a get request
response = requests.get('https://api.github.com/')
 
# print response
print(response)
 
# print request status_code
print(response.status_code)

示例实现——

将上述文件另存为 request.py 并使用

Python request.py

输出 -

response.status_code-Python-requests

检查输出中的 200 和200 ,它们分别指的是 HttpResponse 和 Status 代码。

response.headers

response.headers返回响应头的字典。要查看有关标头的更多信息,请访问 – 不同的 HTTP 标头

如何通过Python请求使用 response.headers?

为了说明 response.headers 的使用,我们来 ping Github 的 API。要运行此脚本,您需要在 PC 上安装Python和 requests。

示例代码 –

Python3

# import requests module
import requests
 
# Making a get request
response = requests.get('https://api.github.com')
 
# print response
print(response)
 
# print headers of response
print(response.headers)

示例实现——

将上述文件另存为 request.py 并使用

Python request.py

输出 -

response.headers-Python 请求

响应内容

response.content返回响应的内容,以字节为单位。基本上,它指的是二进制响应内容。

如何通过Python请求使用 response.content?

为了说明 response.content 的使用,我们来 ping Github 的 API。要运行此脚本,您需要在 PC 上安装Python和 requests。

示例代码 –

Python3

import requests
 
# Making a get request
response = requests.get('https://api.github.com')
 
# printing request content
print(response.content)

示例实现——

将上述文件另存为 request.py 并使用

Python request.py

输出 -

response.content-Python-requests

检查输出开头的b' ,它表示对字节对象的引用。