解决 Python 网络代理的 DNSLookupFailedError
Resolving DNSLookupFailedError for Python web proxy
我的代码如下:
https://github.com/T145/tphroxy/blob/master/mirror.py
https://github.com/T145/tphroxy/blob/master/transform_content.py
在访问某些网站时,我会遇到以下错误:
Traceback (most recent call last):
File " ... /mirror.py", line 108, in fetch_and_store
response = urlfetch.fetch(mirrored_url)
File " ... /google/appengine/api/urlfetch.py", line 293, in fetch
return rpc.get_result()
File " ... /google/appengine/api/apiproxy_stub_map.py", line 613, in get_result
return self.__get_result_hook(self)
File " ... /python27_lib/versions/1/google/appengine/api/urlfetch.py", line 449, in _get_fetch_result
raise DNSLookupFailedError('DNS lookup failed for URL: ' + url)
DNSLookupFailedError: DNS lookup failed for URL: http://public/images/v6/btn_arrow_down_padded_white.png
我的猜测是特定资产 url 模式未匹配并通过代理正确发送,即 transform_content
缺少模式。非常感谢对解决此问题的任何帮助!如果需要,我愿意使用任何替代库。
编辑
我已经为 transform_content
添加了一个 test suite,我确信主要问题出在我的正则表达式的结果上。 运行 它与 py transform_content_test.py
如果你在 Windows 上获得结果。
DNS lookup failed for URL: http://public/...
请注意 URL 中缺少域(主机)部分,public
字符串将被解析为无效的域,从而导致您看到的错误。
URL 应该类似于 http://<valid_domain>/public/...
,因此请检查您的代码构建 URL。
您在 URL 上执行了相当多的字符串操作,请检查所有可能的代码路径是否正常运行,我猜有些代码路径没有按照您的预期进行。
我的代码如下:
https://github.com/T145/tphroxy/blob/master/mirror.py
https://github.com/T145/tphroxy/blob/master/transform_content.py
在访问某些网站时,我会遇到以下错误:
Traceback (most recent call last):
File " ... /mirror.py", line 108, in fetch_and_store
response = urlfetch.fetch(mirrored_url)
File " ... /google/appengine/api/urlfetch.py", line 293, in fetch
return rpc.get_result()
File " ... /google/appengine/api/apiproxy_stub_map.py", line 613, in get_result
return self.__get_result_hook(self)
File " ... /python27_lib/versions/1/google/appengine/api/urlfetch.py", line 449, in _get_fetch_result
raise DNSLookupFailedError('DNS lookup failed for URL: ' + url)
DNSLookupFailedError: DNS lookup failed for URL: http://public/images/v6/btn_arrow_down_padded_white.png
我的猜测是特定资产 url 模式未匹配并通过代理正确发送,即 transform_content
缺少模式。非常感谢对解决此问题的任何帮助!如果需要,我愿意使用任何替代库。
编辑
我已经为 transform_content
添加了一个 test suite,我确信主要问题出在我的正则表达式的结果上。 运行 它与 py transform_content_test.py
如果你在 Windows 上获得结果。
DNS lookup failed for URL: http://public/...
请注意 URL 中缺少域(主机)部分,public
字符串将被解析为无效的域,从而导致您看到的错误。
URL 应该类似于 http://<valid_domain>/public/...
,因此请检查您的代码构建 URL。
您在 URL 上执行了相当多的字符串操作,请检查所有可能的代码路径是否正常运行,我猜有些代码路径没有按照您的预期进行。