【问题标题】:Python request.head(): How to get response code using python request module instead of ExceptionPython request.head():如何使用 Python 请求模块而不是 Exception 获取响应代码
【发布时间】:2020-06-24 17:24:39
【问题描述】:

它按预期返回 200、301 和其他一些响应。但是当我尝试获取一些不存在的网站的响应时,它不是返回代码,而是抛出异常。下面是我尝试获取“www.googl.com”的响应代码时的代码,我期待这个场景的响应代码。即使我可以在tryexcept 中处理它,但实际上我需要响应代码.

代码:

import requests

print (requests.head("https://www.googl.com"))

【问题讨论】:

  • 响应代码由服务器而非客户端应用程序设置。如果requests 无法连接到服务器,则会引发异常。您希望从不存在的服务器获得什么代码?
  • 不存在的服务器应该如何向您发送响应代码?
  • 谢谢!万一,如果“www.googl.com”存在并且暂时关闭,它会抛出什么响应代码?我只想用响应代码区分这两种情况!有可能吗?
  • 它不会抛出任何东西,除非他们有一个后备或通过像 cloudflare 这样的服务运行;在这种情况下,这取决于。但你通常会找到类似500504404
  • 好的..我明白了上下文。谢谢!!

标签: python url request


【解决方案1】:

由于没有返回任何内容,因此没有响应代码,因为没有响应。

你最好的选择就是这样做:

import requests
try:
    response = requests.head("https://www.googl.com")
except:
    response = 404 # or whatever you want.

【讨论】:

  • 没问题,如果问题得到解决,请将答案标记为正确答案,这样人们就知道不要再次尝试回答,人们可以找到它:) 你可以用投票下方的大勾号来做关于答案。
猜你喜欢
  • 2016-03-21
  • 1970-01-01
  • 2016-04-10
  • 1970-01-01
  • 2011-10-23
  • 1970-01-01
  • 1970-01-01
  • 2021-05-10
  • 2015-08-04
相关资源
最近更新 更多