[Python]自定義DNS的HttpClient

下面示例代碼,自定義DNS,把baidu.com解析到了本機

from urllib3.util import connection

from urllib3 import connectionpool

_orig_create_connection = connection.create_connection


def your_dns_resolver(host):
    return "127.0.0.1"


def patched_create_connection(address, *args, **kwargs):
    host, port = address
    hostname = your_dns_resolver(host)
    return _orig_create_connection((hostname, port), *args, **kwargs)


connection.create_connection = patched_create_connection
conn = connectionpool.connection_from_url('http://baidu.com')
resp = conn.request('GET', 'http://baidu.com')
print(resp.data)

參考:https://stackoverflow.com/a/47645354/1926159

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章