爬虫 DNS 问题

2020-10-30 19:54:46 +08:00
 yezhiye

各位大佬,我想问一下: python 的 requests 库的 dns 查询,默认走不走 socks5 ? 想到一个问题,如果机器在北京,代理在广东,就导致 1 个广东的 ip 总是访问北京的服务器,很奇怪吧…… 1.DNS 查询好像是先查询本机的 DNS 记录,这样我是不是每次都得清除本地 DNS 记录,然后通过让 DNS 查询走代理? 2.怎么下载目标网站的证书用于检验?

google 只找到了不用代理情况下查询 requests 远程服务器 ip 的方法: r = requests.get(url,headers=headers,proxies=proxies,stream=True) print(r.raw._fp.fp.raw._sock.getpeername()) 但是上了代理,就返回本地代理端口,英语不行查不动了……

不是处女座,单纯是好奇,感谢各位大佬!!!!!!!!!

971 次点击
所在节点    Python
8 条回复
yezhiye
2020-10-30 19:57:42 +08:00
想爬上了 CDN 的大站…
yezhiye
2020-10-30 20:23:23 +08:00
第一次发这么长,才发现格式乱了,各位大佬多担待…
Kobayashi
2020-10-30 20:38:09 +08:00
pip install requests[socks]
socks5h://host:port
yezhiye
2020-10-30 21:03:09 +08:00
@Kobayashi 我知道怎么设置代理,我想在每次换代理 ip 的时候重新查询 dns,让代理 ip 跟上了 cdn 的服务器的 ip 对应上…
Jirajine
2020-10-30 21:23:59 +08:00
socks 直接传域名就是远端查询了。
Te11UA
2020-10-31 11:11:27 +08:00
就是 socks5h,socks5 加了 h 就是 DNS 也走代理啊
SingeeKing
2020-10-31 15:04:54 +08:00
In a proxy string, socks5h:// and socks4a:// mean that the hostname is resolved by the SOCKS server. socks5:// and socks4:// mean that the hostname is resolved locally
yezhiye
2020-10-31 22:24:32 +08:00
@Te11UA
@SingeeKing 感谢两位大佬

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

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

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

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

© 2021 V2EX