首页 > 解决方案 > requests.exceptions.InvalidURL:解析失败

问题描述

我认为我的代码干净简单,但我收到了这个错误:

requests.exceptions.InvalidURL: Failed to parse: http://support
.google.com/

当试图运行它时。

我不知道为什么实际上我尝试了太多东西

当我改变

fuzing_website_response = requests.get(f'http://{i}.{take_input}/')

fuzing_website_response = requests.get(f'http://{take_input}/{i}')

并运行它并使用有效的 URL 输入 _> 它将成功地给我响应 status_code 。

但是,即使http://support.google.com 是有效的 url ,尝试枚举子域的其他代码也会给我提供的错误

详细回答问题的原因将不胜感激。

脚本代码:






take_input = input('Enter the website > ')
take_file = open('list.txt','r')


for i in take_file:
    fuzing_website_response = requests.get(f'http://{i}.{take_input}/')
    print (f'{take_input}/{i} ---> {fuzing_website_response.status_code}')

标签: pythonpython-3.x

解决方案


这实际上与 urllib3 库有关,因为 requests 使用 urllib3 解析 url,urllib3 的解析器不是 URL 的 userinfo 部分中的百分比编码字符,只需升级您的 urllib3 即可。

如何升级或安装?

python -m pip install --upgrade urllib3

pip install urllib3

来自 github 存储库:

git clone git://github.com/urllib3/urllib3.git
cd urllib3
python setup.py install

推荐阅读