Python - HTTP 客户端

  • 简述

    在 http 协议中,来自客户端的请求到达服务器并获取一些数据和元数据,假设它是一个有效的请求。我们可以使用 python requests 模块中提供的各种功能来分析来自服务器的响应。这里下面的 python 程序在客户端运行并显示服务器发送的响应的结果。
  • 获得初步响应

    在下面的程序中,requests 模块的 get 方法从服务器获取数据并以纯文本格式打印。
    
    import requests
    r = requests.get('https://httpbin.org/')
    print(r.text)[:200]
    
    当我们运行上述程序时,我们得到以下输出 -
    
    <!DOCTYPE html >
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>httpbin.org</title>
      <link 
    href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+
    
  • 获取会话对象响应

    Session 对象允许您跨请求保留某些参数。它还在从 Session 实例发出的所有请求中保留 cookie。如果您向同一主机发出多个请求,则将重用底层 TCP 连接。
    
    import requests
    s = requests.Session()
    s.get('http://httpbin.org/cookies/set/sessioncookie/31251425')
    r = s.get('http://httpbin.org/cookies')
    print(r.text)
    
    当我们运行上述程序时,我们得到以下输出 -
    
    {"cookies":{"sessioncookie":"31251425"}}
    
  • 处理错误

    如果由于服务器处理请求的问题而引发一些错误,python 程序可以使用 timeout 参数优雅地处理引发的异常,如下所示。程序将等待超时错误的定义值,然后引发超时错误。
    
    requests.get('http://github.com', timeout=10.001)