代理服务器解析对自己的请求

时间:2012-12-24 05:05:11

标签: python linux networking proxy tor

我正在尝试使用Tor上的HTTP代理服务器发出一些HTTP请求。到目前为止,我已经尝试过Privoxy,Tinyproxy和Polipo。但每当我通过任何这些代理服务器发出请求时,它们都会以某种方式获取自己,并陷入循环中。

要检查DNS或网络是否有任何问题,我尝试在没有代理的情况下获取网址,并且工作正常。我正在使用Ubuntu 12.04 64位服务器,并使用python和requests模块来测试设置。

此外,我在具有两个静态IPv4地址的服务器上遇到此问题,在具有一个静态IPv4地址的服务器上,它工作正常。我试图在EC2服务器上模拟这个,它也可以在具有弹性IP地址的服务器上运行,但是在没有弹性IP地址的服务器上,我遇到了同样的问题。

我试图通过编辑Tinyproxy的源代码来深入挖掘,看看错误发生的原因,以及因为代理服务器认为请求的“主机”是127.0.0.1。如果我在请求标头中指定“主机”,那么它工作得有点好。但这不是正常行为。

如果,它可能只是一个代理服务器,那么我可能会把它想象成一个软件错误。但问题出现在所有代理服务器上,这让我想知道网络设置是否有问题

以下是我尝试提出请求的方式

import requests
# tinyproxy listens on Port 8888
r = requests.get("http://google.com", proxies={'http': '127.0.0.1:8888'}) 

我得到以下回复

 400 Bad Request <p>You tried to connect to the machine the proxy is running on </p>

1 个答案:

答案 0 :(得分:0)

原来这是最新版本的请求库的问题。 https://github.com/kennethreitz/requests/pull/1060

相关问题