线程请求时连接中止
Connection Abborted when threading requests
import threading , requests
list = [
"balajidurgaceramics.com",
"km-associates.in",
"www.auifs.org",
"www.cadetcarebd.com",
"thaygiaoquocdan.vn",
"plastimedicos.com",
"www.styleprojectss.com",
"www.matricjackets.com",
"www.ottenandpartners.co.za"
"www.carteplastique.fr",
"hellocodersabbir.com",
"playrifa.com",
"amedgroup.net",
"alphatechservices.org.in",
"aaqildental.com",
"montessoriassociation.org.ua",
"amorehairandbeauty.co.u"
]
def test(url):
r = requests.get('http://'+url)
r = r.url
print(r)
for x in list:
t = threading.Thread(target=test, args=(x, ))
t.start()
我想为我列表中的每个网站获取 http / https,但是当我 运行 它时,我收到一个错误
有些网站可以获取url(http&https),但只有14-16左右的网站,其他网站没有,并且出现错误
错误:
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/data/data/com.termux/files/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
self.run()
File "/data/data/com.termux/files/usr/lib/python3.9/threading.py", line 892, in run
self._target(*self._args, **self._kwargs)
File "/storage/emulated/0/termux/k.py", line 28, in test
r = requests.get('http://'+url)
File "/data/data/com.termux/files/usr/lib/python3.9/site-packages/requests/api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "/data/data/com.termux/files/usr/lib/python3.9/site-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/data/data/com.termux/files/usr/lib/python3.9/site-packages/requests/sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "/data/data/com.termux/files/usr/lib/python3.9/site-packages/requests/sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "/data/data/com.termux/files/usr/lib/python3.9/site-packages/requests/adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
有没有人有办法解决我的问题,我希望我列表中的所有网站都可以获取 http 或 https,具体取决于网站
谁能帮我解决这个问题?
你忘记了
之间的逗号
"www.ottenandpartners.co.za"
"www.carteplastique.fr",
因此 python 将这些字符串连接成 "www.ottenandpartners.co.zawww.carteplastique.fr"
,这不是有效的 URL,因此您得到了这个错误。
最后 URL 你写了“amorehairandbeauty.co.u”而不是“.co.uk”(我猜)。
事实上,它与线程无关,您认为线程导致此问题的原因是因为使用线程比没有线程更快 URL ,但几秒钟后等待 Python 达到这个 URL 你也会遇到这个错误。
import threading , requests
list = [
"balajidurgaceramics.com",
"km-associates.in",
"www.auifs.org",
"www.cadetcarebd.com",
"thaygiaoquocdan.vn",
"plastimedicos.com",
"www.styleprojectss.com",
"www.matricjackets.com",
"www.ottenandpartners.co.za"
"www.carteplastique.fr",
"hellocodersabbir.com",
"playrifa.com",
"amedgroup.net",
"alphatechservices.org.in",
"aaqildental.com",
"montessoriassociation.org.ua",
"amorehairandbeauty.co.u"
]
def test(url):
r = requests.get('http://'+url)
r = r.url
print(r)
for x in list:
t = threading.Thread(target=test, args=(x, ))
t.start()
我想为我列表中的每个网站获取 http / https,但是当我 运行 它时,我收到一个错误
有些网站可以获取url(http&https),但只有14-16左右的网站,其他网站没有,并且出现错误
错误:
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/data/data/com.termux/files/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
self.run()
File "/data/data/com.termux/files/usr/lib/python3.9/threading.py", line 892, in run
self._target(*self._args, **self._kwargs)
File "/storage/emulated/0/termux/k.py", line 28, in test
r = requests.get('http://'+url)
File "/data/data/com.termux/files/usr/lib/python3.9/site-packages/requests/api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "/data/data/com.termux/files/usr/lib/python3.9/site-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/data/data/com.termux/files/usr/lib/python3.9/site-packages/requests/sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "/data/data/com.termux/files/usr/lib/python3.9/site-packages/requests/sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "/data/data/com.termux/files/usr/lib/python3.9/site-packages/requests/adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
有没有人有办法解决我的问题,我希望我列表中的所有网站都可以获取 http 或 https,具体取决于网站
谁能帮我解决这个问题?
你忘记了
之间的逗号"www.ottenandpartners.co.za"
"www.carteplastique.fr",
因此 python 将这些字符串连接成 "www.ottenandpartners.co.zawww.carteplastique.fr"
,这不是有效的 URL,因此您得到了这个错误。
最后 URL 你写了“amorehairandbeauty.co.u”而不是“.co.uk”(我猜)。
事实上,它与线程无关,您认为线程导致此问题的原因是因为使用线程比没有线程更快 URL ,但几秒钟后等待 Python 达到这个 URL 你也会遇到这个错误。