Python 请求无效URL:解析失败URL
Python Requests InvalidURL: Failed to parse URL
thanks you very much. it has a "\u200b
" follow the .com
.
"\u200b
" is an invisable character. the reason is i copy the url
from the website.
but something interesting i found: if i use pip install requests==2.21.0
(old version), it will not except this err. only use
new version it will err.
无效URL:无法解析 URL,一些 url 会排除此错误,而另一些 url 则不会。
已经升级 urllib3
和 requests
错误
urllib3.exceptions.LocationParseError: Failed to parse: https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=samplekey
requests.exceptions.InvalidURL: Failed to parse: https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=samplekey
环境
Python 3.8.6 (tags/v3.8.6:db45529) [MSC v.1927 64 bit (AMD64)] on win32
PS C:\Windows\system32> python -m pip install --upgrade urllib3
Requirement already satisfied: urllib3 in c:\python38\lib\site-packages (1.26.8)
PS C:\Windows\system32> python -m pip install --upgrade requests
Requirement already satisfied: requests in c:\python38\lib\site-packages (2.27.1)
Requirement already satisfied: charset-normalizer~=2.0.0 in c:\python38\lib\site-packages (from requests) (2.0.5)
Requirement already satisfied: idna<4,>=2.5 in c:\python38\lib\site-packages (from requests) (3.2)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\python38\lib\site-packages (from requests) (1.26.8)
Requirement already satisfied: certifi>=2017.4.17 in c:\python38\lib\site-packages (from requests) (2021.5.30)
代码
import requests
url='https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=samplekey'
#res=requests.post(url)
res=requests.post(str(url))
错误日志
Traceback (most recent call last):
File "C:\Python38\lib\site-packages\requests\models.py", line 384, in prepare_url
scheme, auth, host, port, path, query, fragment = parse_url(url)
File "C:\Python38\lib\site-packages\urllib3\util\url.py", line 394, in parse_url
return six.raise_from(LocationParseError(source_url), None)
File "<string>", line 3, in raise_from
urllib3.exceptions.LocationParseError: Failed to parse: https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=samplekey
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "E:/test.py", line 3, in <module>
res=requests.post(str(url))
File "C:\Python38\lib\site-packages\requests\api.py", line 117, in post
return request('post', url, data=data, json=json, **kwargs)
File "C:\Python38\lib\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Python38\lib\site-packages\requests\sessions.py", line 515, in request
prep = self.prepare_request(req)
File "C:\Python38\lib\site-packages\requests\sessions.py", line 443, in prepare_request
p.prepare(
File "C:\Python38\lib\site-packages\requests\models.py", line 318, in prepare
self.prepare_url(url, params)
File "C:\Python38\lib\site-packages\requests\models.py", line 386, in prepare_url
raise InvalidURL(*e.args)
requests.exceptions.InvalidURL: Failed to parse: https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=samplekey
您的 url 中有错字或无效 不可见 字符。
请从我的代码中复制:
url='https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=samplekey'
thanks you very much. it has a "
\u200b
" follow the.com
. "\u200b
" is an invisable character. the reason is i copy the url from the website.but something interesting i found: if i use
pip install requests==2.21.0
(old version), it will not except this err. only use new version it will err.
无效URL:无法解析 URL,一些 url 会排除此错误,而另一些 url 则不会。
已经升级 urllib3
和 requests
错误
urllib3.exceptions.LocationParseError: Failed to parse: https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=samplekey
requests.exceptions.InvalidURL: Failed to parse: https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=samplekey
环境
Python 3.8.6 (tags/v3.8.6:db45529) [MSC v.1927 64 bit (AMD64)] on win32
PS C:\Windows\system32> python -m pip install --upgrade urllib3
Requirement already satisfied: urllib3 in c:\python38\lib\site-packages (1.26.8)
PS C:\Windows\system32> python -m pip install --upgrade requests
Requirement already satisfied: requests in c:\python38\lib\site-packages (2.27.1)
Requirement already satisfied: charset-normalizer~=2.0.0 in c:\python38\lib\site-packages (from requests) (2.0.5)
Requirement already satisfied: idna<4,>=2.5 in c:\python38\lib\site-packages (from requests) (3.2)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\python38\lib\site-packages (from requests) (1.26.8)
Requirement already satisfied: certifi>=2017.4.17 in c:\python38\lib\site-packages (from requests) (2021.5.30)
代码
import requests
url='https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=samplekey'
#res=requests.post(url)
res=requests.post(str(url))
错误日志
Traceback (most recent call last):
File "C:\Python38\lib\site-packages\requests\models.py", line 384, in prepare_url
scheme, auth, host, port, path, query, fragment = parse_url(url)
File "C:\Python38\lib\site-packages\urllib3\util\url.py", line 394, in parse_url
return six.raise_from(LocationParseError(source_url), None)
File "<string>", line 3, in raise_from
urllib3.exceptions.LocationParseError: Failed to parse: https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=samplekey
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "E:/test.py", line 3, in <module>
res=requests.post(str(url))
File "C:\Python38\lib\site-packages\requests\api.py", line 117, in post
return request('post', url, data=data, json=json, **kwargs)
File "C:\Python38\lib\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Python38\lib\site-packages\requests\sessions.py", line 515, in request
prep = self.prepare_request(req)
File "C:\Python38\lib\site-packages\requests\sessions.py", line 443, in prepare_request
p.prepare(
File "C:\Python38\lib\site-packages\requests\models.py", line 318, in prepare
self.prepare_url(url, params)
File "C:\Python38\lib\site-packages\requests\models.py", line 386, in prepare_url
raise InvalidURL(*e.args)
requests.exceptions.InvalidURL: Failed to parse: https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=samplekey
您的 url 中有错字或无效 不可见 字符。 请从我的代码中复制:
url='https://ssl.bing.com/webmaster/api.svc/json/SubmitUrlbatch?apikey=samplekey'