尝试测试某些url地址是否适用于python请求,但会出现错误

尝试测试某些url地址是否适用于python请求,但会出现错误,python,python-requests,http-status-codes,Python,Python Requests,Http Status Codes,我正在尝试学习使用python请求测试一些internet地址,并期望得到一些输出(如200或404)。但我有一些错误,我没能弄清楚。出于我的目的,我也愿意接受任何建议 import os , sys , requests from multiprocessing import Pool def url_check(url): resp = requests.get(url) print(resp.status_code) with Pool(4) as p: pri

我正在尝试学习使用python请求测试一些internet地址,并期望得到一些输出(如200或404)。但我有一些错误,我没能弄清楚。出于我的目的,我也愿意接受任何建议

import os , sys , requests
from multiprocessing import Pool

def url_check(url):
    resp = requests.get(url)
    print(resp.status_code)

with Pool(4) as p:
    print(p.map(url_check, [ "https://api.github.com​", "​http://bilgisayar.mu.edu.tr/​", "​https://www.python.org/​", "http://akrepnalan.com/ceng2034​", "https://github.com/caesarsalad/wow​" ]))
错误代码的输出:

404
404
multiprocessing.pool.RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/usr/lib/python3.6/multiprocessing/pool.py", line 119, in worker
    result = (True, func(*args, **kwds))
  File "/usr/lib/python3.6/multiprocessing/pool.py", line 44, in mapstar
    return list(map(*args))
  File "ödev_deneme.py", line 6, in url_check
    resp = requests.get(url)
  File "/home/efe/.local/lib/python3.6/site-packages/requests/api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
  File "/home/efe/.local/lib/python3.6/site-packages/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/efe/.local/lib/python3.6/site-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/efe/.local/lib/python3.6/site-packages/requests/sessions.py", line 637, in send
    adapter = self.get_adapter(url=request.url)
  File "/home/efe/.local/lib/python3.6/site-packages/requests/sessions.py", line 728, in get_adapter
    raise InvalidSchema("No connection adapters were found for {!r}".format(url))
requests.exceptions.InvalidSchema: No connection adapters were found for '\u200bhttps://www.python.org/\u200b'
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "ödev_deneme.py", line 10, in <module>
    print(p.map(url_check, [ "https://api.github.com​", "​http://bilgisayar.mu.edu.tr/​", "​https://www.python.org/​", "http://akrepnalan.com/ceng2034​", "https://github.com/caesarsalad/wow​" ]))
  File "/usr/lib/python3.6/multiprocessing/pool.py", line 266, in map
    return self._map_async(func, iterable, mapstar, chunksize).get()
  File "/usr/lib/python3.6/multiprocessing/pool.py", line 644, in get
    raise self._value
requests.exceptions.InvalidSchema: No connection adapters were found for '\u200bhttps://www.python.org/\u200b'

第四行有404,因为第四个url地址不工作。但在我的输出中,前两行中已经有404。我想我的代码中有一个很大的错误。

问题是一些URL包含不可见的零宽度空格字符(
'\u200b'

您可以将其替换为空字符串:

def url_check(url):
    resp = requests.get(url.replace('\u200b', ''))
    print(resp.status_code)
def url_check(url):
    resp = requests.get(url.replace('\u200b', ''))
    print(resp.status_code)