【问题标题】:httplib and urllib2 different errors when requesting a webhttplib 和 urllib2 请求网页时出现不同的错误
【发布时间】:2019-04-23 05:28:08
【问题描述】:

我正在尝试使用 httplib(或 urllib2,对我来说两者都很好)来访问 web

我只是想访问它来解析 HTML 并寻找一些东西。但是,无论我如何尝试实现它,它们都以来自服务器的错误结束。

例如:

import httplib
conn = httplib.HTTPSConnection("mangapanda.onl")
conn.request("GET", "/")
response = conn.getresponse()
print response.status, response.reason

结尾:

500 内部服务器错误

还有:

import urllib2
redirect_handler= urllib2.HTTPRedirectHandler()
opener = urllib2.build_opener(redirect_handler)
r = opener.open('https://www.mangapanda.onl/')
print r.status, r.reason

在打开的函数中引发异常:

urllib2.HTTPError:HTTP 错误 403:禁止

我已经尝试在每个库中使用多个 URL,从 URL 中删除结尾的“/”等等,但我还没有实现它。

此外,我真正想要的是了解为什么会发生这种情况。我想到的唯一原因是网络应该对图书馆可能无法遵循的请求使用某种重定向,但在最后一次 sn-p 之后我认为它应该遵循它。

是网址语法问题吗?我应该怎么写?为什么?我该如何解决这个问题?

【问题讨论】:

    标签: python http urllib2 httplib


    【解决方案1】:

    这可能是由于服务器不知道请求来自哪里。还, 一些网站不允许他们认为是机器人活动的请求。为了解决该问题,您可以为请求提供虚假信息。查看urllib2 request library。还有here's如何输入“假数据”,或标题。

    【讨论】:

    • 感谢约瑟夫的解释。正如你所说,我已经使用标题解决了它。但是,我使用的是 urllib2 库,它有自己的使用方式,不需要其他库。您想用 urllib2 信息更新您的答案,以便我接受吗? ;) 无论如何我都赞成。
    • 完成!链接了正确的库以及有关如何使用 urllib2 标头修复它的堆栈溢出帖子。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多