我正在尝试使用Python请求向域发出HTTP GET请求,而不使用urllib3 / httplib.HTTPConnection来执行域的DNS请求。我在Windows hosts文件中设置了域,但是Python请求似乎会覆盖它,所以我需要在脚本中定义域的DNS解析。
我想脚本绕过dns请求,以便我可以设置IP地址。在下面的示例中,我将其设置为45.22.67.8,稍后我将其更改为我的公共IP地址。
我尝试过使用这种猴子补丁'技术,但它不起作用。请求不会在Wireshark中生成DNS请求,但它也不会连接到HTTP服务器。
import socket
import requests
from requests.packages.urllib3.connection import HTTPConnection
socket.getaddrinfo = '45.22.67.8'
url = "http://www.randomdomain.com"
requests.get(url, timeout=10)
错误
' STR'对象不可调用
谢谢!
编辑:刚刚更新了我的示例中的代码。我想做的就是覆盖未来的http连接,以欺骗http数据包转到不同的目标IP。