在python中使用特定国家/地区的IP地址请求URL

时间:2018-05-15 06:37:13

标签: python

我正在尝试实现一个脚本,用于测试应用商店中的应用是否可以访问跟踪网址。

为此,我需要获取相关国家/地区的IP地址并使用该IP我需要请求跟踪网址。所以它会像请求通过该国家/地区,我们将知道是否可以访问该国家/地区的应用商店的URL。

问题:如何请求网址,就好像我提供的IP请求一样?

示例:

def check_url_is_valid(url, ip_address):
    # Trying to request url using ip_address
    # return True or False 

PS:不希望完成此代码,但感谢任何指导或指导。

3 个答案:

答案 0 :(得分:2)

无法获得"国家/地区的IP地址"因为没有这样的事情。 IP地址的范围对应于不同位置的不同ISP。您应该通过您知道位于您希望的位置的代理传递每个请求。

为此,您需要为每个国家/地区创建自己的代理列表,并且每次为每个国家/地区通过代理传递您的请求。您应该探索一些可能的免费或付费代理。

无论如何,一旦你这样做,通过代理发送请求可以这样做:

proxyDict = { 
              "http"  : "http://1.1.1.1:123", 
              "https" : "https://1.1.1.1:456", 
              "ftp"   : "ftp://1.1.1.1:789"
            }

r = requests.get(url, proxies=proxyDict)

当然,您应该使用适合您想要的真实代理替换上面的虚假地址。

顺便说一句,我确定现在有现成的解决方案,所以也许你应该首先寻找它们而不是重新发明轮子"。例如:https://www.uptrends.com/tools/uptime

答案 1 :(得分:1)

您需要使用第三方服务,按国家/地区手动检查网址,例如asm.ca.com我猜你无法为特定的IP做到这一点。所以你应该先通过IP确定国家。

答案 2 :(得分:1)

您可以使用允许热链接或API的网络代理,或者如果您使用的是Linux,则可以使用代理链,或者如果您想手动使用VPN,请使用代理链。