我正在使用tor和python开发一个项目,为此我必须使用pycurl获取给定url的服务器ip。
目前我使用以下代码进行简单的查询和响应。
def query(url):
"""
Uses pycurl to fetch a site using the proxy on the SOCKS_PORT.
"""
output = StringIO.StringIO()
curl = pycurl.Curl()
curl.setopt( pycurl.URL, url )
curl.setopt( pycurl.PROXY, '188.120.228.106' )
curl.setopt( pycurl.PROXYPORT, 1080 )
curl.setopt( pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5_HOSTNAME )
curl.setopt(pycurl.CONNECTTIMEOUT, CONNECTION_TIMEOUT)
try:
curl.perform()
return output.getvalue()
except pycurl.error as exc:
raise ValueError("Unable to reach %s (%s)" % (url, exc))
有关如何更改代码的任何建议,以便我也可以获取给定网址的服务器IP。
答案 0 :(得分:2)
似乎您正在寻找的正确旗帜是CURLINFO_PRIMARY_IP
。
尝试在curl.getinfo(pycurl.PRIMARY_IP)
对象上使用pycurl.Curl()
。