网站如何知道我正在使用代理?

时间:2016-12-22 21:56:09

标签: python proxy

我可以从我的机器连接到verizon站点:

>>> import requests
>>> res=requests.get('https://tv.verizon.com/api/fullSearch/as/rows/30/start/0?assetTypeCode=movies')
>>> res
<Response [200]>

但是,如果我使用代理 - 它正在其他网站上工作,例如Google - 它不会返回响应:

>>> res=requests.get(
    'https://tv.verizon.com/api/fullSearch/as/rows/30/start/0?assetTypeCode=movies', 
     proxies={
        'http': 'http://xx:yy@23.82.141.126:29842' ,
        'https': 'http://xx:yy@23.82.141.126:29842'}
   )
[ request just hangs... ]

但在另一个网站上它可以运作:

    >>> res=requests.get(
...         'https://google.com', 
...          proxies={
...             'http': 'http://xx:yy@23.88.141.126:29842',
...             'https': 'http://xx:yy@23.88.141.126:29842'}
...        )
>>> res
<Response [200]>

为什么会这样?我如何通过代理成功请求Verizon?

1 个答案:

答案 0 :(得分:1)

我知道tor网络使用可用的公共出口节点列表here。您希望连接的站点可能正在使用这样的查找表/列表。

原因是代理通常用于隐藏诸如黑客攻击或超载服务器(拒绝服务攻击)等欺诈行为。删除连接会使代理服务器发生拒绝服务攻击变得更加困难。

请注意:我在这里以tor为例。这里可能还有其他列表