Pythonhttpxの使い方
Httpx とは
Httpx は、最新の使いやすい HTTP クライアントとサーバーを提供する Python ライブラリです。 Httpx は Python の非同期フレームワークで動作し、WebSocket と HTTP/2 をサポートします。 Httpx は、優れたパフォーマンス、セキュリティ、さまざまなプロトコル、エンコーディング、認証スキームに対する柔軟な構成を提供します。
Httpx のインストール
Httpx ライブラリのインストールは非常に簡単です。 pip パッケージ マネージャーを使用して次のコマンドを実行するだけです:
pip install httpx
Python 3.7 以前を使用している場合は、Httpx の非同期依存関係 aiohttp をインストールする必要があります。
次のコマンドを実行してインストールできます。
pip install httpx[aiohttp]
HTTP リクエストの送信
Httpx を使用した HTTP リクエストの送信は非常に簡単です。 Httpx を使用して GET リクエストを送信する簡単な例を次に示します。
import httpx response = httpx.get('https://www.baidu.com') print(response.status_code) print(response.text)
この例では、Httpx の get メソッドを使用して GET リクエストを送信しました。要求された URL は https://www.baidu.com です。このメソッドは、応答ステータス コードと応答テキストにアクセスするために使用できる Response オブジェクトを返します。
Httpx は、GET、POST、PUT、DELETE、HEAD、OPTIONS など、さまざまな HTTP メソッドをサポートしています。 Httpx メソッドを使用してこれらのリクエストを送信できます。
ここにいくつかの例があります:
import httpx response = httpx.post('https://www.baidu.com', data={'key': 'value'}) response = httpx.put('https://www.baidu.com', data={'key': 'value'}) response = httpx.delete('https://www.baidu.com') response = httpx.head('https://www.baidu.com') response = httpx.options('https://www.baidu.com')
上記の例の各リクエストは、Httpx メソッドを使用して送信できます。これらのメソッドのほとんどは、データ、ヘッダー、クエリ パラメーターなどのパラメーターの受け渡しをサポートしています。
非同期 HTTP リクエストの送信
Httpx は非同期 HTTP リクエストもサポートしています。以下は、Httpx を使用して非同期 GET リクエストを送信する簡単な例です。
import httpx import asyncio async def get_request(): async with httpx.AsyncClient() as client: response = await client.get('https://www.baidu.com') print(response.status_code) print(response.text) asyncio.run(get_request())
この例では、Httpx の AsyncClient クラスを使用して非同期 GET リクエストを送信する get_request という名前の非同期関数を作成します。非同期関数では、async with ステートメントを使用して Httpx の非同期クライアントを作成します。この方法でクライアントを作成すると、リクエストの完了後にクライアントが自動的に閉じられます。次に、await キーワードを使用して応答を非同期に待機し、応答オブジェクトから応答ステータス コードと応答テキストにアクセスします。
同期リクエストと同様に、Httpx の非同期クライアントもさまざまな HTTP メソッドをサポートしています。
ここにいくつかの例があります:
import httpx import asyncio async def post_request(): async with httpx.AsyncClient() as client: response = await client.post('https://www.baidu.com', data={'key': 'value'}) print(response.status_code) print(response.text) asyncio.run(post_request())
リクエスト ヘッダーの設定
HTTP リクエストを送信するときは、通常、リクエスト ヘッダーを設定する必要があります。 Httpx を使用すると、リクエスト メソッドで headers パラメータを渡すことでリクエスト ヘッダーを設定できます。
これは例です:
import httpx headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = httpx.get('https://www.baidu.com', headers=headers) print(response.status_code) print(response.text)
この例では、headers パラメーターを使用して User-Agent という名前の要求ヘッダーを設定します。
リクエスト パラメータの設定
Httpx を使用すると、HTTP リクエストを送信するときにリクエスト パラメータを設定できます。
ここにいくつかの例があります:
import httpx params = {'key1': 'value1', 'key2': 'value2'} response = httpx.get('https://www.baidu.com', params=params) print(response.status_code) print(response.text)
この例では、params パラメーターを使用して 2 つのクエリ パラメーター key1 と key2 を設定します。
リクエスト本文の送信
POST、PUT、および DELETE リクエストを送信するときは、通常、リクエスト本文にデータを含める必要があります。 Httpx では、data パラメーターを使用してリクエスト本文にデータを設定できます。
次は例です:
import httpx data = {'key': 'value'} response = httpx.post('https://www.baidu.com', data=data) print(response.status_code) print(response.text)
この例では、data パラメーターを使用して、key という名前のリクエスト本文パラメーターを設定します。
JSON データの送信
Httpx では、json パラメーターを使用して JSON データを送信できます。
以下は例です:
import httpx data = {'key': 'value'} response = httpx.post('https://www.baidu.com', json=data) print(response.status_code) print(response.text)
この例では、json パラメーターを使用して、key という名前の JSON リクエスト本文パラメーターを設定します。
タイムアウトの設定
HTTP リクエストを送信するときは、通常、タイムアウトを設定する必要があります。 Httpx では、timeout パラメーターを使用してタイムアウトを設定できます。
これは例です:
import httpx response = httpx.get('https://www.baidu.com', timeout=5) print(response.status_code) print(response.text)
この例では、timeout パラメーターを使用してタイムアウトを 5 秒に設定します。
エラー処理
Httpx は、問題の診断と解決に役立つさまざまな種類の例外をスローできます。一般的な例外をいくつか示します。
httpx.HTTPError: HTTP エラーが発生したときに発生します。
httpx.RequestError: リクエスト エラーが発生したときに発生します。
httpx.NetworkError: ネットワーク エラーが発生したときに発生します。
httpx.TimeoutException: タイムアウトが発生すると発生します。
これらの例外を処理する場合、try/excel ステートメントを使用して例外をキャッチし、適切なアクションを実行できます。以下に例を示します。
import httpx try: response = httpx.get('https://www.baidu.com') response.raise_for_status() except httpx.HTTPError as http_error: print(f'HTTP error occurred: {http_error}') except httpx.RequestError as request_error: print(f'Request error occurred: {request_error}') except httpx.NetworkError as network_error: print(f'Network error occurred: {network_error}') except httpx.TimeoutException as timeout_error: print(f'Timeout error occurred: {timeout_error}') else: print(response.status_code) print(response.text)
この例では、try/excel ステートメントを使用して、発生する可能性のあるすべての例外をキャッチし、例外の種類に基づいて適切なアクションを実行します。
証明書の検証
Httpx を使用すると、SSL 証明書を検証して、サーバーへの安全な接続を確保できます。デフォルトでは、HTTP は SSL 証明書を検証します。証明書の検証を無効にする必要がある場合は、verify パラメータを False に設定できます。
これは例です:
import httpx response = httpx.get('https://www.baidu.com', verify=False) print(response.status_code) print(response.text)
この例では、verify パラメーターを False に設定して、SSL 証明書の検証を無効にします。
プロキシの使用
Httpx では、プロキシを使用して HTTP リクエストを送信できます。以下に例を示します。
import httpx proxies = { 'http://http-proxy-server:8080', 'https://https-proxy-server:8080' } response = httpx.get('https://www.baidu.com', proxies=proxies) print(response.status_code) print(response.text)
この例では、proxies パラメータを使用して 2 つのプロキシ サーバーを設定します。
ファイルのアップロード
Httpx では、files パラメーターを使用してファイルをアップロードできます。以下に例を示します:
import httpx files = {'file': ('file.txt', open('file.txt', 'rb'))} response = httpx.post('https://www.baidu.com', files=files) print(response.status_code) print(response.text)
在这个示例中,我们使用 files 参数上传了名为 file.txt 的文件。
使用 Cookie
Httpx 允许您使用 cookies 参数发送 cookie。以下是一个示例:
import httpx cookies = {'name': 'value'} response = httpx.get('https://www.baidu.com', cookies=cookies) print(response.status_code) print(response.text)
在这个示例中,我们使用 cookies 参数发送了名为 name 的 cookie。
以上がPythonhttpxの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Stock Market GPT
AIを活用した投資調査により賢明な意思決定を実現

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Pipinstall-rrequirements.txtを実行して、依存関係パッケージをインストールします。競合を回避し、ファイルパスが正しく、PIPが更新されていることを確認し、必要に応じて-no-depsや-userなどのオプションを使用して、必要に応じてインストール動作を調整することを確認して、最初に仮想環境を作成およびアクティブ化することをお勧めします。

Pythonは、Pythonのシンプルで強力なテストツールです。インストール後、命名ルールに従ってテストファイルが自動的に発見されます。アサーションテストのためにtest_から始まる関数を書き込み、 @pytest.fixtureを使用して再利用可能なテストデータを作成し、pytest.raisesを使用して例外を確認し、指定されたテストと複数のコマンドラインオプションをサポートし、テスト効率を改善します。

データサイエンスの初心者にとって、「経験不足」から「業界の専門家」への飛躍の核心は継続的な実践です。実践の基礎は、豊かで多様なデータセットです。幸いなことに、インターネット上には無料のパブリックデータセットを提供する多数のWebサイトがあります。これは、スキルを向上させ、スキルを磨くための貴重なリソースです。

ビッグデータ分析では、マルチコアCPU、大容量メモリ、階層型ストレージに焦点を当てる必要があります。 AmdepycやRyzenthreadripperなどのマルチコアプロセッサが優先され、コアの数とシングルコアの性能を考慮しています。メモリは64GBで始まるように推奨され、データの整合性を確保するためにECCメモリが推奨されます。ストレージは、NVMESSD(システムとホットデータ)、SatAssD(共通データ)、およびHDD(コールドデータ)を使用して、全体的な処理効率を改善します。

theargparsemoduleisttherecommendedwayto handlecommand-lineargumentsinpython、robustparsing、typevalidation、helpmessages、およびerrorhandling; ousesys.argvforsimplecasesrequiringminimalsetup。

目次ビットコイン改善提案(BIP)とは何ですか?なぜBIPがそんなに重要なのですか?歴史的なBIPプロセスは、ビットコイン改善提案(BIP)でどのように機能しますか? BIPタイプの信号とは何ですか?鉱夫はそれをどのように送りますか? TaprootとBIP結論のクイックトライアルの短所は、2011年以来、ビットコイン改善提案または「BIP」と呼ばれるシステムを通じて行われています。ビットコイン改善提案(BIP)は、ビットコインが一般的に開発する方法のガイドラインを提供します。BIPには3つのタイプがあります。そのうち2つはビットコインの技術的変化に関連しています各BIPは、TWIを含むどこにでも集まるビットコイン開発者の間で非公式の議論から始まります。

@ContextManagerFromContextLibandDefineAgeneratoratoraturationは、sexactlyOnceを使用します

repetitivetaskswsortomating、sosorganizingfilessorsendingningtumails、focusingonthosethatoccurfrequellyandtakesifatipime.2.useapsupratepythonlibrarieslikes、shotil、glob、smtplib、requests、beautifulsoup、anseleniumforferation、email、w
