python: urllib2.HTTPError: HTTP 错误 405: 方法不允许
Posted
技术标签:
【中文标题】python: urllib2.HTTPError: HTTP 错误 405: 方法不允许【英文标题】:python: urllib2.HTTPError: HTTP Error 405: Method Not Allowed 【发布时间】:2016-08-24 23:12:48 【问题描述】:我真的是一个正在尝试学习Python的ETL人,请帮助
import urllib2
urls =urllib2.urlopen("url1","url2")
i=0
while i< len(urls):
htmlfile = urllib2.urlopen(urls[i])
htmltext = htmlfile.read()
print htmltext
i+=1
我收到错误
Traceback(最近一次调用最后一次): 文件“.\test.py”,第 2 行,在 urls =urllib2.urlopen("url1","url2") 文件“c:\python27\Lib\urllib2.py”,第 154 行,在 urlopen 返回 opener.open(url, 数据, 超时) 文件“c:\python27\Lib\urllib2.py”,第 437 行,打开 响应=方法(请求,响应) http_response 中的文件“c:\python27\Lib\urllib2.py”,第 550 行 'http', 请求, 响应, 代码, msg, hdrs) 文件“c:\python27\Lib\urllib2.py”,第 475 行,错误 返回 self._call_chain(*args) _call_chain 中的文件“c:\python27\Lib\urllib2.py”,第 409 行 结果 = 函数(*args) http_error_default 中的文件“c:\python27\Lib\urllib2.py”,第 558 行 引发 HTTPError(req.get_full_url(), 代码, msg, hdrs, fp) urllib2.HTTPError: HTTP 错误 405: 方法不允许
【问题讨论】:
你得到的错误不是很明显吗? 嗨ozgur,我对python的基础知识知之甚少..可以简单介绍一下.. urllib2.HTTPError: HTTP Error 403: Forbidden的可能重复 【参考方案1】:您的错误来自第 2 行:
urls =urllib2.urlopen("url1","url2")
您尝试访问的任何 url 都会返回一个 http 错误代码
HTTP Error 405: Method Not Allowed
查看 urllib2 文档,您应该只使用 1 个 url 作为参数
https://docs.python.org/2/library/urllib2.html
打开 URL url,可以是字符串也可以是 Request 对象。
data 可以是一个字符串,指定要发送到服务器的附加数据,或者如果不需要此类数据,则为 None。目前 HTTP 请求是唯一使用数据的请求;提供数据参数时,HTTP 请求将是 POST 而不是 GET。
您输入的第二个参数可能是将请求转换为 POST,这将解释 Method Not Allowed 代码。
【讨论】:
以上是关于python: urllib2.HTTPError: HTTP 错误 405: 方法不允许的主要内容,如果未能解决你的问题,请参考以下文章
urllib2.HTTPError: HTTP Error 403: Forbidden 请高手指点,python菜鸟一枚
urllib2.HTTPError:HTTP 错误 403:禁止
urllib2.HTTPError:HTTP 错误 401:未经授权
python urllib2导出elasticsearch数据时 返回 "urllib2.HTTPError: HTTP Error 500: Internal Server Error&q