0
我试图采取一些http代理并将它们追加到列表中,然后单独通过使用urllib打开它们来测试它们,但出现以下类型错误。我已经试过在测试函数中用str()包装'proxy',但是返回了另一个错误。如何将字符串添加到Python中的字典中?
proxies = []
with open('working_proxies.txt', 'rb') as working_proxies:
for proxy in working_proxies:
proxy.rstrip()
proxies.append(proxy)
def test(proxy):
try:
urllib.urlopen(
"http://google.com",
proxies={'http': proxy}
)
except IOError:
print "Connection error! (Check proxy)"
else:
working_proxy = True
working_proxy = False
while working_proxy == False:
myProxy = proxies.pop()
test(myProxy)
我的错误:
Connection error! (Check proxy)
Traceback (most recent call last):
File "proxy_hand.py", line 26, in <module>
test(proxy)
File "proxy_hand.py", line 16, in test
proxies={'http': proxy}
File "/usr/lib/python2.7/urllib.py", line 87, in urlopen
return opener.open(url)
File "/usr/lib/python2.7/urllib.py", line 193, in open
urltype, proxyhost = splittype(proxy)
File "/usr/lib/python2.7/urllib.py", line 1074, in splittype
match = _typeprog.match(url)
TypeError: expected string or buffer