繁体   English   中英

更改python请求的IP

[英]Changing IP of python requests

如何在python中更改HTTP请求的IP?
我的朋友为一个网站构建了一个 API,有时它会阻止某些 IP,因此我们需要更改请求的 IP……这是一个示例:

login_req = self.sess.post('https://www.XXX/YYY', params={...}

现在,它发送的每个请求都是通过计算机的 IP,我们基本上需要它通过一个虚构的 VPN。

谢谢您的帮助。 如果有什么不清楚的,我会解释。

简短的回答:你不能。

长答案:您似乎误解了 IP 地址的工作方式。 您的 IP 地址是与您的计算机对应的网络地址 - 当您向服务器发送请求时,您会将您的 IP 作为各种“返回地址”附加,以便服务器可以向您发送响应。

然而,就像物理地址一样,您无法选择您的 IP 地址——您住在一条街上,那是您的地址,您无法更改街道名称或门牌号. 通常,当您从计算机发送请求时,消息会通过一系列设备。 例如:

Your computer --> Your router --> Your ISP --> The Server

在很多情况下,它们中的每一个都为它下面的任何内容分配一个不同的 IP 地址。 因此,当您的请求通过您的路由器时,您的路由器会记录您的 IP 地址,然后使用自己的IP 地址通过您的 ISP 转发请求。 因此,同一网络上的多个用户如何拥有相同的 IP 地址。

存在直接对应于设备的物理 IP 地址,但数量有限。 大多数情况下,每个 Internet 服务提供商都有一些可以附加到事物的 IP 地址块; 一个ISP可以保持一个特定的IP地址指向一个特定的计算机的所有的时间,但他们没有,和他们的许多普通用户的,他们不知道。

您的计算机基本上没有能力确定它自己的 IP 地址是什么。 对此,python 无能为力。

你的问题

我们需要 [请求] 基本上通过一个虚构的 VPN。

从某处实际申请真正的代理或 VPN 并通过它推送您的请求会更容易。 您必须与您的互联网服务提供商交谈,让他们专门为您设置类似的东西,除非您代表一家相当大的公司,否则他们不太可能愿意为此付出努力。 大多数处理 HTTP 的 python 库都可以轻松处理代理服务器,所以一旦你弄清楚它应该不是问题。

您可以使用来自https://www.sslproxies.org/的 IP 地址

例如,

import requests

response=requests.get("yourURL", proxies={'https': 'https://219.121.1.93:80', 'http': http://219.121.1.93:80 "})

该站点上的 IP 地址非常糟糕,有时无法正常工作,因此最好找到一种方法来不断从该站点抓取 IP 地址,这样您就可以尝试几个。 查看这篇文章: https : //www.scrapehero.com/how-to-rotate-proxies-and-ip-addresses-using-python-3/

警告:这些不应该用于敏感信息,因为它们不安全。 不要使用这些 IP 地址,除非您对世界上任何知道您在做什么的人感到满意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM