<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Python 的 httpx
包是一個複雜的 Web 使用者端。當你安裝它後,你就可以用它來從網站上獲取資料。像往常一樣,安裝它的最簡單方法是使用 pip
工具:
$ python -m pip install httpx --user
要使用它,把它匯入到 Python 指令碼中,然後使用 .get
函數從一個 web 地址獲取資料:
import httpx result = httpx.get("https://httpbin.org/get?hello=world") result.json()["args"]
下面是這個簡單指令碼的輸出:
{'hello': 'world'}
預設情況下,httpx
不會在非 200 狀態下引發錯誤。
試試這個程式碼:
result = httpx.get("https://httpbin.org/status/404") result
結果是:
<Response [404 NOT FOUND]>
可以明確地返回一個響應。新增這個例外處理:
try: result.raise_for_status() except Exception as exc: print("woops", exc)
下面是結果:
woops Client error '404 NOT FOUND' for url 'https://httpbin.org/status/404'
For more information check: https://httpstatuses.com/404
除了最簡單的指令碼之外,使用一個自定義的使用者端是有意義的。除了不錯的效能改進,比如連線池,這也是一個設定使用者端的好地方。
例如, 你可以設定一個自定義的基本 URL:
client = httpx.Client(base_url="https://httpbin.org") result = client.get("/get?source=custom-client") result.json()["args"]
輸出範例:
{'source': 'custom-client'}
這對用使用者端與一個特定的伺服器對話的典型場景很有用。例如,使用 base_url
和 auth
,你可以為認證的使用者端建立一個漂亮的抽象:
client = httpx.Client( base_url="https://httpbin.org", auth=("good_person", "secret_password"), ) result = client.get("/basic-auth/good_person/secret_password") result.json()
輸出:
{'authenticated': True, 'user': 'good_person'}
你可以用它來做一件更棒的事情,就是在頂層的 “主” 函數中構建使用者端,然後把它傳遞給其他函數。這可以讓其他函數使用使用者端,並讓它們與連線到本地 WSGI 應用的使用者端進行單元測試。
def get_user_name(client): result = client.get("/basic-auth/good_person/secret_password") return result.json()["user"] get_user_name(client) 'good_person' def application(environ, start_response): start_response('200 OK', [('Content-Type', 'application/json')]) return [b'{"user": "pretty_good_person"}'] fake_client = httpx.Client(app=application, base_url="https://fake-server") get_user_name(fake_client)
輸出:
'pretty_good_person'
請存取 python-httpx.org 瞭解更多資訊、檔案和教學。我發現它是一個與 HTTP 互動的優秀而靈活的模組。試一試,看看它能為你做什麼。
via: https://opensource.com/article/22/3/python-httpx
以上就是Pytho的HTTP互動模組httpx包使用詳解的詳細內容,更多關於Pytho HTTP互動模組httpx包的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45