【问题标题】:Python Contacting Web Failing to RespondPython 联系 Web 无法响应
【发布时间】:2021-07-22 13:17:55
【问题描述】:

我一直在通过 LinkedIn Learning 课程尝试学习一些 Python,但我遇到了一个阻碍我进步的问题。我正在尝试使用 JSON 并从网站提取数据,但我不断收到错误消息,提示“连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接主机失败回应”。

我正在使用 VSCode,并在我的工作网络(虽然受到严格限制,但不限于此网页进行浏览)和我的家庭网络上都进行了尝试。是否有某种网络许可会阻止访问?我在尝试完成使用 OpenNotify API 的 API 培训课程时遇到了同样的问题。

这是我正在尝试使用的代码。

import urllib.request

def main():
  webUrl = urllib.request.urlopen("https://www.google.com")
  print("result code: " + str(webUrl.getcode()))

  
if __name__ == "__main__":
  main()

【问题讨论】:

    标签: python json api


    【解决方案1】:

    由于 ping 有效,但 telnet 到端口 80 无效,因此您机器上的 HTTP 端口 80 已关闭。我假设您的浏览器的 HTTP 连接通过代理(当浏览正常时,您将如何阅读 stackoverflow?)。您需要在处理代理的 python 程序中添加一些代码。

    您可以查看here了解更多详细信息。

    但是你为什么不试试requests 库,它非常简单易用。
    举个例子:

    >>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
    >>> r.status_code
    200
    >>> r.headers['content-type']
    'application/json; charset=utf8'
    >>> r.encoding
    'utf-8'
    >>> r.text
    '{"type":"User"...'
    >>> r.json()
    {'private_gists': 419, 'total_private_repos': 77, ...}
    

    您可以通过阅读 pip install requestshere's 文档来开始使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多