我试图通过python使用一个代理,以便从不同的、特定的IP地址登录到一个站点。但是,某些网站似乎可以检测到原始(主机)IP地址。我已经调查过这个问题,这是我发现的。在
我尝试过四种代理方法:
mechanize.set_proxies
的Python。在前三个我用了同一个代理。Tor不是我自己的选择。以下是我注意到的预期行为:
http://www.whatismyip.com/
,它将给出正确的IP地址(代理的IP地址,而不是主机的IP地址)。在事实上,似乎我访问的网站确实认为我的IP是代理的。但是,有一些奇怪的情况让我觉得有些网站可以检测到我原来的IP地址。在
mechanize
通过Firefox登录,它将无法登录,并显示不相关的错误消息。在mechanize.set_proxies
选项,我用太多的请求重载了一个站点,因此它决定阻止访问(每当我登录时,它都会故意超时)。我想它可能已经阻止了代理的IP地址。然而,当我从另一台主机上运行代码,但是使用同一个代理时,它又工作了一段时间,直到他们再次阻止它。(不用担心,我不会再骚扰这个网站了-我重新运行了这个程序,因为我认为这可能是我这边的一个故障,而不是他们的终端一个街区。)从一个被阻止的主机使用Firefox+代理解决方案访问该站点也导致了故意的超时。在在我看来,所有这些站点,在Firefox+代理和mechanize
的情况下,都能够找到主机的IP地址,而在TorBrowser和虚拟机的情况下,它们却没有
网站如何收集这些信息?TorBrowser和虚拟机案例有什么不同之处,阻止了站点收集这些信息?另外,如何实现python脚本,以便通过代理访问的站点无法检测主机的IP地址?在
代理可能在^{} HTTP报头中报告了您的真实IP地址,但如果是这样,我很惊讶WhatIsMyIP站点没有告诉您这一点。在
如果您第一次直接访问非美国站点,然后再次使用代理,那么该站点也可能在您第一次访问时在您的浏览器中设置了cookies,即使在您的IP地址更改之后,该站点也可以识别您。这可以解释您在浏览器实例之间观察到的差异。在
(我注意到学术期刊网站喜欢这样做。如果我试图从家里访问一篇付费文章,但由于我没有使用我大学的代理服务器而被阻止,我通常必须在允许访问代理之后清除cookies。)
相关问题 更多 >
编程相关推荐