繁体   English   中英

Python中使用“requests”模块报错405

[英]Error 405 when using "requests" module in Python

更新:问题似乎与 Windows Powershell 有关。程序在 Python IDLE 中运行。

所以我已经正确安装了请求, urllib3模块。 但是每当我尝试使用请求时,我都会收到 HTTP 405 错误。 请检查随附的屏幕截图以了解我的代码和我收到的错误。

  • 注意:我尝试附上我的代码和错误的图像,但 StackOverflow 应用程序给了我一个错误。

  • 注意 2:我也尝试过 GET 方法,但它也不起作用,它会抛出相同的 HTTP 405 错误。

我的代码:

from bs4 import BeautifulSoup
import requests

file = requests.post("https://w3schools.com/python/demopage.htm")

soup = BeautifulSoup(file,"lxml");

print(soup.prettify())

我得到的错误:

追溯(最近调用最后):导入请求文件“C:\Users\Prasanna\AppData\Local\Programs\Python\Python36\lib\site-packages\requests__init__.py”中的文件“requestspractice.py”,第 1 行,第 43 行,在导入 urllib3 文件“C:\Users\Prasanna\Python1\urllib3.py”,第 15 行,在 resp = urllib.request.urlopen(req) 文件“C:\Users\Prasanna\AppData\Local\ Programs\Python\Python36\lib\urllib\request.py”,第 223 行,在 urlopen 中返回 opener.open(url, data, timeout) 文件“C:\Users\Prasanna\AppData\Local\Programs\Python\Python36\ lib\urllib\request.py",第 532 行,打开响应 = meth(req, response) 文件 "C:\Users\Prasanna\AppData\Local\Programs\Python\Python36\lib\urllib\request.py",第 642 行,在 http_response 'http', request, response, code, msg, hdrs) 文件“C:\Users\Prasanna\AppData\Local\Programs\Python\Python36\lib\urllib\request.py”,第 570 行,错误返回 self._call_chain(*args) 文件“C:\Users\Prasanna\AppData\Local\Programs\Python\Python36\lib\urllib\request.py”,第 504 行,在 _call_chai n result = func(*args) 文件“C:\Users\Prasanna\AppData\Local\Programs\Python\Python36\lib\urllib\request.py”,第 650 行,在 http_error_default 中 raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP 错误 405: 方法不允许

我相信你想要做的是GET的页面,而不是POST什么吧。

file = requests.get("https://w3schools.com/python/demopage.htm")

你的 URL 是错误的,应该在“html”结尾,但你使用的是:“https://w3schools.com/python/demopage.htm”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM