HTTP 连接解析失败
HTTP connection parsing fails
我正在尝试调用 parse_ip()
中的 connect()
函数,该函数将通过网页搜索输入 IP 以找到匹配项。
Connect
为列表 THREAT
的每个元素调用函数。
这是我的代码:
def connect(url):
sessions = requests.Session()
print "Connecting with", url
try:
r = sessions.get(url,
headers = create_basic_headers(),
proxies = {'http': HTTP_PROXY, 'https': HTTPS_PROXY})
return r
except:
sys.stdout.write('[!] Could not connect to: %s\n' % url)
def parse(ip):
counter = 0
ioc_list = []
for filename, source in THREAT.iteritems():
c = connect(source)
for line in c:
if line.startswith("/") or line.startswith('\n') or line.startswith("#"):
pass
else:
counter += 1
d = 0
while d < len(ip):
if ip[d] in line:
print ip[d], source
d +=1
在运行脚本上,解析页面无法连接,最后我得到以下错误:
[!] Could not connect to: http://...
for line in c: TypeError: 'NoneType' object is not iterable
任何人都可以帮我弄清楚这里出了什么问题。
requests
无法与服务器建立连接。引发异常,然后在 bare except 子句中处理。没有显示有关异常的信息,因此很难诊断实际的连接问题。
在异常 connect()
returns None
到调用者之后,调用者然后尝试对其进行迭代。这就是导致 TypeError
.
的原因
你为什么不尝试打印异常?
def connect(url):
sessions = requests.Session()
print "Connecting with", url
try:
r = sessions.get(url,
headers = create_basic_headers(),
proxies = {'http': HTTP_PROXY, 'https': HTTPS_PROXY})
return r
except requests.exceptions.ConnectionError as exc:
sys.stdout.write('[!] Could not connect to: %s\n' % url)
sys.stdout.write('Exception: %s' % exc)
希望这会告诉您连接失败的原因。
接下来,您需要检查 parse()
中 connect()
的 return 值。类似于:
c = connect(source)
if c is not None:
for line in c:
....
或者您可以在 connect()
中重新提出异常并让 parse()
处理它。
我正在尝试调用 parse_ip()
中的 connect()
函数,该函数将通过网页搜索输入 IP 以找到匹配项。
Connect
为列表 THREAT
的每个元素调用函数。
这是我的代码:
def connect(url):
sessions = requests.Session()
print "Connecting with", url
try:
r = sessions.get(url,
headers = create_basic_headers(),
proxies = {'http': HTTP_PROXY, 'https': HTTPS_PROXY})
return r
except:
sys.stdout.write('[!] Could not connect to: %s\n' % url)
def parse(ip):
counter = 0
ioc_list = []
for filename, source in THREAT.iteritems():
c = connect(source)
for line in c:
if line.startswith("/") or line.startswith('\n') or line.startswith("#"):
pass
else:
counter += 1
d = 0
while d < len(ip):
if ip[d] in line:
print ip[d], source
d +=1
在运行脚本上,解析页面无法连接,最后我得到以下错误:
[!] Could not connect to: http://... for line in c: TypeError: 'NoneType' object is not iterable
任何人都可以帮我弄清楚这里出了什么问题。
requests
无法与服务器建立连接。引发异常,然后在 bare except 子句中处理。没有显示有关异常的信息,因此很难诊断实际的连接问题。
在异常 connect()
returns None
到调用者之后,调用者然后尝试对其进行迭代。这就是导致 TypeError
.
你为什么不尝试打印异常?
def connect(url):
sessions = requests.Session()
print "Connecting with", url
try:
r = sessions.get(url,
headers = create_basic_headers(),
proxies = {'http': HTTP_PROXY, 'https': HTTPS_PROXY})
return r
except requests.exceptions.ConnectionError as exc:
sys.stdout.write('[!] Could not connect to: %s\n' % url)
sys.stdout.write('Exception: %s' % exc)
希望这会告诉您连接失败的原因。
接下来,您需要检查 parse()
中 connect()
的 return 值。类似于:
c = connect(source)
if c is not None:
for line in c:
....
或者您可以在 connect()
中重新提出异常并让 parse()
处理它。