欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python requests response值判斷方式

 更新時間:2020年04月30日 09:50:08   作者:峰云就她了  
這篇文章主要介紹了python requests response值判斷方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

這段時間在技術上沒太多的思考的,只是碰到幾個蝦米小問題。 往往問題不大,也會致使你花心思去排解。

今遇到一個reqeusts返回值的一個問題,花了不短時間調,后來發(fā)現(xiàn)是reqeusts返回的對象也含有 魔法函數(shù) 處理。

我這邊的業(yè)務是cdn的刷新預緩存,對于該項目來說 http code 200, 2xx, 404 都是友好的。

#jb51.net

import requests
r = None
try:
 r = requests.get("https://jb51.net")
except:
 pass
if r:
 print "ok"

為什么沒有輸出ok ? 按照常理來說,只要r不為 零值,就可以匹配到True. 但這次的返回是 <Response [404]>,為什么404會引起 if r 判斷異常。

> type(r)

> requests.models.Response

看 requests的源代碼可以很容易分析出該問題。

#jb51.net

class Response(object):
 """The :class:`Response <Response>` object, which contains a
 server's response to an HTTP request.
 """

 __attrs__ = [
  '_content', 'status_code', 'headers', 'url', 'history',
  'encoding', 'reason', 'cookies', 'elapsed', 'request'
 ]

 def __init__(self):
  super(Response, self).__init__()

  self._content = False
  self._content_consumed = False

  #: Integer Code of responded HTTP Status, e.g. 404 or 200.
  self.status_code = None

 def __repr__(self):
  return '<Response [%s]>' % (self.status_code)

 def __bool__(self):
  return self.ok

 @property
 def ok(self):
  try:
   self.raise_for_status()
  except HTTPError:
   return False
  return True

 def raise_for_status(self):
 ¦ """Raises stored :class:`HTTPError`, if one occurred."""

 ¦ http_error_msg = ''

 ¦ if 400 <= self.status_code < 500:
 ¦ ¦ http_error_msg = '%s Client Error: %s for url: %s' % (self.status_code, self.reason, self.url)

 ¦ elif 500 <= self.status_code < 600:
 ¦ ¦ http_error_msg = '%s Server Error: %s for url: %s' % (self.status_code, self.reason, self.url)

 ¦ if http_error_msg:
 ¦ ¦ raise HTTPError(http_error_msg, response=self)

END.

以上這篇python requests response值判斷方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • python多線程高級鎖condition簡單用法示例

    python多線程高級鎖condition簡單用法示例

    這篇文章主要介紹了python多線程高級鎖condition簡單用法,結合實例形式分析了condition對象常用方法及相關使用技巧,需要的朋友可以參考下
    2019-11-11
  • 利用Python繪制好看的玫瑰花圖

    利用Python繪制好看的玫瑰花圖

    玫瑰花圖是節(jié)理統(tǒng)計方式之一,方法簡便,形象醒目,比較清楚地反映出主要節(jié)理的方向,有助于分析區(qū)域構造。本文將用Python繪制好看的玫瑰花圖,感興趣的可以了解一下
    2022-05-05
  • Python3視頻轉字符動畫的實例代碼

    Python3視頻轉字符動畫的實例代碼

    這篇文章主要介紹了Python3視頻轉字符動畫的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • 利用Python?實現(xiàn)圖片轉字符畫

    利用Python?實現(xiàn)圖片轉字符畫

    這篇文章主要介紹了利用Python?實現(xiàn)圖片轉字符畫,要將圖片轉字符畫,需要先定義一個字符集,用來和灰度值做映射,將圖片每個像素的?RGB?值轉換為一個灰度值,將其對應的字符輸出就得到字符畫
    2022-06-06
  • python實現(xiàn)感知器算法(批處理)

    python實現(xiàn)感知器算法(批處理)

    這篇文章主要為大家詳細介紹了python實現(xiàn)感知器算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 解決pymongo連接數(shù)據(jù)庫報錯certificate verify failed:certificate has expired

    解決pymongo連接數(shù)據(jù)庫報錯certificate verify failed:certific

    這篇文章主要介紹了解決pymongo連接數(shù)據(jù)庫報錯certificate verify failed:certificate has expired問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 深度學習環(huán)境搭建anaconda+pycharm+pytorch的方法步驟

    深度學習環(huán)境搭建anaconda+pycharm+pytorch的方法步驟

    本文主要介紹了深度學習環(huán)境搭建anaconda+pycharm+pytorch的方法步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • pyqt5與matplotlib的完美結合實例

    pyqt5與matplotlib的完美結合實例

    今天小編就為大家分享一篇pyqt5與matplotlib的完美結合實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python基于opencv實現(xiàn)的人臉識別(適合初學者)

    Python基于opencv實現(xiàn)的人臉識別(適合初學者)

    OpenCV是一個基于BSD許可開源發(fā)行的跨平臺計算機視覺庫,下面這篇文章主要給大家介紹了關于Python基于opencv實現(xiàn)的人臉識別,文中通過實例代碼介紹的非常詳細,本文的教程非常適合初學者,需要的朋友可以參考下
    2022-03-03
  • python利用有道翻譯實現(xiàn)

    python利用有道翻譯實現(xiàn)"語言翻譯器"的功能實例

    小編就為大家分享一篇python利用有道翻譯實現(xiàn)"語言翻譯器"的功能實例。具有比較好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11

最新評論