Python - 代理服务器

  • 简述

    代理服务器用于通过另一台服务器浏览某些网站,以使浏览保持匿名。它还可用于绕过特定 IP 地址的阻止。
    我们使用 urllib 模块中的 urlopen 方法通过将代理服务器地址作为参数传递来访问网站。
  • 例子

    在下面的示例中,我们使用代理地址访问网站 twitter.con 以进行匿名访问。OK 的响应状态证明通过代理服务器访问成功。
    
    import urllib
    URL = 'https://www.twitter.com'
    PROXY_ADDRESS = "265.24.11.6:8080"
    if __name__ == '__main__':
        resp = urllib.urlopen(URL, proxies = {"http" : PROXY_ADDRESS})
    print "Proxy server returns response headers: %s " %resp.headers
    
    当我们运行上述程序时,我们得到以下输出 -
    
    Proxy server returns response headers: cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
    content-length: 145960
    content-type: text/html;charset=utf-8
    date: Mon, 02 Jul 2018 02:06:19 GMT
    expires: Tue, 31 Mar 1981 05:00:00 GMT
    last-modified: Mon, 02 Jul 2018 02:06:19 GMT
    pragma: no-cache
    server: tsa_n
    set-cookie: fm=0; Expires=Mon, 02 Jul 2018 02:06:10 GMT; Path=/; Domain=.twitter.com; Secure; HTTPOnly
    set-cookie: _twitter_sess=BAh7CSIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo%250ASGFzaHsABjoKQHVzZWR7ADoPY3JlYXRlZF9hdGwrCAifvVhkAToMY3NyZl9p%250AZCIlNzlhY2ZhMzdmNGFkYTU0ZTRmMDkxODRhNWNiYzI0MDI6B2lkIiUyZTgy%250AOTAyYjY4NTBkMzE3YzNjYTQwNzZjZDhhYjZhMQ%253D%253D--6807256d74a01129a7b0dcf383f56f169fb8a66c; Path=/; Domain=.twitter.com; Secure; HTTPOnly
    set-cookie: personalization_id="v1_iDacJdPWUx3e81f8UErWTA=="; Expires=Wed, 01 Jul 2020 02:06:19 GMT; Path=/; Domain=.twitter.com
    set-cookie: guest_id=v1%3A153049717939764273; Expires=Wed, 01 Jul 2020 02:06:19 GMT; Path=/; Domain=.twitter.com
    set-cookie: ct0=50c8b59b09322825cd750ea082e43bdc; Expires=Mon, 02 Jul 2018 08:06:19 GMT; Path=/; Domain=.twitter.com; Secure
    status: 200 OK
    strict-transport-security: max-age=631138519
    x-connection-hash: 89dfbab81abc35dd8f618509c6171bd3
    x-content-type-options: nosniff
    x-frame-options: SAMEORIGIN
    x-response-time: 312
    x-transaction: 007b998000f86eaf
    x-twitter-response-tags: BouncerCompliant
    x-ua-compatible: IE=edge,chrome=1
    x-xss-protection: 1; mode=block; report=https://twitter.com/i/xss_report