我正在尝试用python来分离url的不同部分 是urlparse,但我似乎在结果中得到了错误的值。你知道吗
baseline = runSql(conn,"Select url from malware_traffic where tag = 'baseline';")
for i in baseline:
print i[0]
print urlparse.urlparse(i[0])
runSql函数只返回一个url列表。我对它们进行循环,并尝试将url从基线变量转换为url,但是python解析url的方式似乎不正确
172.217.9.174:443/c2dm/register3
ParseResult(scheme='172.217.9.174', netloc='', path='443/c2dm/register3', params='', query='', fragment='')
connectivitycheck.gstatic.com:80/generate_204
ParseResult(scheme='connectivitycheck.gstatic.com', netloc='', path='80/generate_204', params='', query='', fragment='')
www.google.com:80/gen_204
ParseResult(scheme='www.google.com', netloc='', path='80/gen_204', params='', query='', fragment='')
172.217.9.174:443/auth/devicekey
ParseResult(scheme='172.217.9.174', netloc='', path='443/auth/devicekey', params='', query='', fragment='')
在结果中,您可以清楚地看到它混淆了scheme和netloc以及在path中包含端口。你知道吗
例如,第一个结果应该是这样的。你知道吗
ParseResult(scheme='', netloc='172.217.9.174:443', path='/c2dm/register3', params='', query='', fragment='')
不知道为什么会搞砸。你知道吗
我实际上使用了与文档中的一个例子相同的东西https://docs.python.org/2/library/urlparse.html。你知道吗
那么我做错了什么,还是一只虫子?你知道吗
问题是您的url没有一个方案(方案的
http://
部分),所以python认为172.217.9.174:
就是方案。前缀为http://
一切正常:相关问题 更多 >
编程相关推荐