一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

python接口自動化29-requests超時重試方法

 上海悠悠 2021-05-27

前言

“由于連接方在一段時間后沒有正確答復(fù)或連接的主機(jī)沒有反應(yīng),連接嘗試失敗”,這是經(jīng)常遇到的問題
requests.exceptions.ConnectionError: HTTPSConnectionPool(host=’www.github.com’, port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.verifiedhttpsconnection object="" at="" 0x0000020f06524ac8="">: Failed to establish a new connection: [WinError 10060] 由于連接方在一段時間后沒有正確答復(fù)或連接的主機(jī)沒有反應(yīng),連接嘗試失敗?!?))
一般出現(xiàn)這個問題的原因是:host=’www.github.com’ 主機(jī)地址沒連上,使用 requests 發(fā)請求時,有些網(wǎng)站服務(wù)器不穩(wěn)定,特別是國外的網(wǎng)站,經(jīng)常會出現(xiàn)連接失敗情況。
連接失敗后,有時候會拋出上面異常,有時候會一直卡住,進(jìn)入假死狀態(tài),沒響應(yīng),也不會結(jié)束。</urllib3.connection.verifiedhttpsconnection>

timeout

requests 發(fā)請求的時候會有個默認(rèn)的超時時間,這個時間在20秒左右

import requests s = requests.session() url = "https://www.github.com/" r = s.request("GET", url=url) print(r.text)

連不上服務(wù)器會出現(xiàn)異常:requests.exceptions.ConnectionError

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='www.github.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x0000020F06524AC8>: Failed to establish a new connection: [WinError 10060] 由于連接方在一段時間后沒有正確答復(fù)或連接的主機(jī)沒有反應(yīng),連接嘗試失敗。',))

如果請求一直沒響應(yīng),進(jìn)入假死狀態(tài),可以加個 timeout 超時時間,達(dá)到這個請求超時時間就結(jié)束,如 15 秒超時。

import requests s = requests.session() url = "https://www.github.com/" r = s.request("GET", url=url, timeout=15) print(r.text)

這樣拋出的異常是:requests.exceptions.ConnectTimeout

raise ConnectTimeout(e, request=request) requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='www.github.com', port=443): Max retries exceeded with url: / (Caused by ConnectTimeoutError(<urllib3.connection.VerifiedHTTPSConnection object at 0x000001CF6D2A4A20>, 'Connection to www.github.com timed out. (connect timeout=15)'))

失敗重試 max_retries

Requests 自帶了一個傳輸適配器,也就是 HTTPAdapter。這個適配器使用了強(qiáng)大的 urllib3,為 Requests 提供了默認(rèn)的 HTTP 和 HTTPS 交互。
每當(dāng) Session 被初始化,就會有適配器附著在 Session 上,其中一個供 HTTP 使用,另一個供 HTTPS 使用。

import requests from requests.adapters import HTTPAdapter s = requests.session() # max_retries=3 重試3次 s.mount('http://', HTTPAdapter(max_retries=3)) s.mount('https://', HTTPAdapter(max_retries=3)) url = "https://www.github.com/" r = s.request("GET", url=url, timeout=15) print(r.text)

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    人妻内射在线二区一区| 久久精品福利在线观看| 日韩精品一区二区三区四区| 亚洲专区中文字幕在线| 妻子的新妈妈中文字幕| 九九热在线免费在线观看| 午夜亚洲精品理论片在线观看 | 91超频在线视频中文字幕 | 国产欧美日韩精品自拍| 国产欧美日韩精品一区二区| 91爽人人爽人人插人人爽| 亚洲欧美日韩在线看片| 国产毛片对白精品看片| 日本精品啪啪一区二区三区| 国产女性精品一区二区三区| 国产人妻熟女高跟丝袜| 高清在线精品一区二区| 又大又长又粗又猛国产精品| 日韩欧美国产亚洲一区| 欧美成人免费一级特黄| 欧美日韩亚洲巨色人妻| 亚洲国产精品av在线观看 | 成人免费观看视频免费| 91麻豆视频国产一区二区| 美女黄色三级深夜福利| 国产一区二区三区色噜噜| 亚洲日本中文字幕视频在线观看| 欧美黑人在线一区二区| 99久久精品午夜一区二| 黄色av尤物白丝在线播放网址 | 乱女午夜精品一区二区三区| 国产一区二区久久综合| 欧美91精品国产自产| 国产精品久久女同磨豆腐| 空之色水之色在线播放| 91超频在线视频中文字幕| 色婷婷在线精品国自产拍| 男人和女人干逼的视频| 熟女少妇一区二区三区蜜桃| 国产级别精品一区二区视频| 婷婷色香五月综合激激情|