用 IP 代理访问 http://ip.chinaz.com/getip.aspx,为什么还是显示本机的 IP?

2016-11-24 16:02:10 +08:00
 a329377653
import urllib.request
import socket
import random

User_Agent = ['Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0',
		"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.84 Safari/535.11 LBBROWSER",
		'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)',
		'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; QQBrowser/7.0.3698.400)',
		'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)',
		'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SV1; QQDownload 732; .NET4.0C; .NET4.0E; 360SE)',
		'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SV1; QQDownload 732; .NET4.0C; .NET4.0E; SE 2.X MetaSr 1.0)',
		'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.84 Safari/535.11 SE 2.X MetaSr 1.0',
		'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)',
		'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)'
		]
shareUrl = 'http://ip.chinaz.com/getip.aspx'
proxy = {'http':'106.120.78.129:80'}
try:
	#proxy_support=urllib.request.ProxyHandler({'http':proxy})
	proxy_support=urllib.request.ProxyHandler(proxy)
	opener = urllib.request.build_opener(proxy_support)
	random_userAget = random.choice(User_Agent)
	req = urllib.request.Request(shareUrl)
	req.add_header("User-Agent", random_userAget) 
	res = urllib.request.urlopen(req).read().decode("utf8")	
	print (res)
except Exception as e:
	print (e)
8057 次点击
所在节点    Python
11 条回复
cat9life
2016-11-24 16:12:55 +08:00
不是高匿代理?
a329377653
2016-11-24 16:21:52 +08:00
@cat9life 是要换个高匿的代理才可以吗?,试了下换个 还是显示本机地址。。
SharkIng
2016-11-24 16:42:23 +08:00
不是全局代理吧?或者说代理设定的 route 并没有把 chinaz 的网站包含进代理路线
langmoe
2016-11-24 16:43:59 +08:00
你把浏览器重启试一下?这站 keep-alive 的时间似乎非常的长,可能你换代理之后浏览器依然使用了首次直连建立的 socket
a329377653
2016-11-24 16:50:25 +08:00
@langmoe 我用上面的程序 run 的应该跟我浏览器没关系吧? 换了几个 proxy 试试,返回的 res 还是同一个。。
langmoe
2016-11-24 16:54:19 +08:00
@a329377653 120.52.72.56:80 试试这个

curl http://ip.chinaz.com/getip.aspx -x 'http://120.52.72.56:80'
{ip:'120.52.72.56',address:'北京市 联通云 BGP 数据中心'}

我这儿是没显示本机的
jiedreambuilder
2016-11-24 16:58:20 +08:00
7654
2016-11-24 16:58:24 +08:00
虽然你定义了代理,但是你使用了代理吗
opener req
a329377653
2016-11-24 16:58:49 +08:00
原来缺少了一句 感谢各位大锅帮助 结帖
jiedreambuilder
2016-11-24 17:02:55 +08:00
a329377653
2016-11-24 17:04:07 +08:00
@7654 是的 少了设置 ( ꒪Д꒪)ノ

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/322997

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX