📜  网络编程Python – HTTP 客户端

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

网络编程Python – HTTP 客户端

来自客户端的 HTTP 协议请求到达服务器并获取一些数据,假设它是一个有效的请求。可以使用请求模块提供的各种方法来分析来自服务器的响应。下面的一些方法提供有关从服务器发送到在客户端运行的Python程序的响应的信息:

获得初步回应

get()方法用于获取服务端使用的资源的基本信息。此函数从服务器获取数据并作为响应对象返回,该对象可以以简单的文本格式打印。

Python3
# Import libraries
import requests
  
# Sending Request
req = requests.get('https://www.geeksforgeeks.org/')
  
# Show results
print(req.text[:2000])


Python3
# Import Libraries
import requests
  
# Creating Session
s = requests.Session()
s.get('http://httpbin.org/cookies/set/sessioncookie/419735271')
  
# Getting Response
r = s.get('http://httpbin.org/cookies')
  
# Show Response
print(r.text)


Python3
# Import Libraries
import requests
  
# Error Handling
try:
      
    # Creating Request
    req = requests.get('https://www.geeksforgeeks.org/', timeout=0.000001)
      
except requests.exceptions.RequestException as e:
      
    # Raising Error
    raise SystemExit(e)


输出:

获取会话信息

session()方法返回会话对象,该对象提供某些参数来操作请求。它还可以为从会话对象发起的所有请求操作 cookie。如果向单个主机发出大量请求,则会调用关联的 TCP 连接。

蟒蛇3

# Import Libraries
import requests
  
# Creating Session
s = requests.Session()
s.get('http://httpbin.org/cookies/set/sessioncookie/419735271')
  
# Getting Response
r = s.get('http://httpbin.org/cookies')
  
# Show Response
print(r.text)

输出:

{
  "cookies": {
    "sessioncookie": "419735271"
  }
}

错误处理

如果在处理对服务器的请求时出现某些错误,则程序会引发异常,该异常可以使用 timeout 属性进行处理,该属性定义了程序等待之前的时间值,然后引发超时错误。

蟒蛇3

# Import Libraries
import requests
  
# Error Handling
try:
      
    # Creating Request
    req = requests.get('https://www.geeksforgeeks.org/', timeout=0.000001)
      
except requests.exceptions.RequestException as e:
      
    # Raising Error
    raise SystemExit(e)

输出: