更改python请求的IP

时间:2018-09-28 01:45:13

标签: python networking

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

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

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

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

2 个答案:

答案 0 :(得分:4)

简短答案:不能。

好答案:您似乎误解了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库都可以轻松处理代理服务器,因此,一旦发现它就不会有问题。

答案 1 :(得分:1)

您可以使用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地址。