为什么代理服务器使用我的私有IP?
Why does the proxy server use my private IP?
我正在尝试使用代理进行抓取(此代理服务器是来自互联网的免费代理服务器);特别是我想使用他们的 IP,而不是我的私人 IP。为了测试我的脚本,我尝试访问“http://whatismyipaddress.com/”以查看该站点看到的 IP。事实证明,它会看到我的私人 IP。有人可以告诉我这里有什么问题吗?
import requests
from fake_useragent import UserAgent
def getMyIP(proxyServer,myPrivateIP):
scrape_website = "http://whatismyipaddress.com/"
ua = UserAgent()
headers = {'User-Agent': ua.random}
try:
response = requests.get(scrape_website,headers=headers,proxies={"https":proxyServer})
except:
faultString = proxyServer + " did not work; " + "\n"
print(faultString)
return
if myPrivateIP in str(response.content):
print("They found my private IP.")
proxyServer = "http://103.250.158.23:61219"
myPrivateIP = "xxx.xxx.xxx.xxx"
getMyIP(proxyServer,myPrivateIP)
两件事:
- 您设置了
{'https': ...}
代理配置。这意味着对于任何 HTTPS 请求,它将使用该代理。但是,您请求的是 HTTP URL,因此不会使用该代理。改为或另外配置 'http'
代理。
- 如果 代理在 HTTP header 中转发您的 IP,并且目标服务器注意到 header,那就是运气不好,您无能为力除了使用不转发您的 IP 的其他代理之外,还有其他任何事情。我认为第 1 点更有可能是问题所在。
我正在尝试使用代理进行抓取(此代理服务器是来自互联网的免费代理服务器);特别是我想使用他们的 IP,而不是我的私人 IP。为了测试我的脚本,我尝试访问“http://whatismyipaddress.com/”以查看该站点看到的 IP。事实证明,它会看到我的私人 IP。有人可以告诉我这里有什么问题吗?
import requests
from fake_useragent import UserAgent
def getMyIP(proxyServer,myPrivateIP):
scrape_website = "http://whatismyipaddress.com/"
ua = UserAgent()
headers = {'User-Agent': ua.random}
try:
response = requests.get(scrape_website,headers=headers,proxies={"https":proxyServer})
except:
faultString = proxyServer + " did not work; " + "\n"
print(faultString)
return
if myPrivateIP in str(response.content):
print("They found my private IP.")
proxyServer = "http://103.250.158.23:61219"
myPrivateIP = "xxx.xxx.xxx.xxx"
getMyIP(proxyServer,myPrivateIP)
两件事:
- 您设置了
{'https': ...}
代理配置。这意味着对于任何 HTTPS 请求,它将使用该代理。但是,您请求的是 HTTP URL,因此不会使用该代理。改为或另外配置'http'
代理。 - 如果 代理在 HTTP header 中转发您的 IP,并且目标服务器注意到 header,那就是运气不好,您无能为力除了使用不转发您的 IP 的其他代理之外,还有其他任何事情。我认为第 1 点更有可能是问题所在。