首页 > 解决方案 > 使用 Python 3 通过 SOCKS5 请求 DNS

问题描述

我必须通过 SOCKS 5 代理使用 python 3 发出 DNS 请求。(因此,我的 IP 地址不会发出任何 DNS 请求,socks5 代理会为我完成它,并且应该使用相应的 A/AAA 记录进行响应,或者如果无法解决,则不响应/其他任何东西)

我发现了以下 github 项目:

rthalley/dnspython:不支持代理/袜子

Anorov/PySocks:没有 ipv6,无法接收远程 DNS 响应

我发现了以下 stackoverflow 线程Python - 通过代理使用 socket.gethostbyname -> 它使用不支持 ipv6 的 pysocks -> 对我不可用

你知道如何完成我的任务吗?

标签: pythonproxydnssocks

解决方案


这非常容易。它的工作方式与 curl 相同:

如果您需要在客户端解析 DNS ,请使用socks5://host:port语法

如果您需要在代理端解析 DNS ,请使用socks5h://host:port语法


推荐阅读