Requests モジュールは応答コンテンツを取得します
応答には、応答行、応答ヘッダー、および応答本文のコンテンツが含まれ、返された応答情報は Requests モジュールを介して取得できます。得られた応答内容は、インターフェーステストの実行によって得られた実際の結果でもあります。
応答行を取得する
応答ヘッダーを取得する
その他の応答情報を取得する
コード例:
# インポートリクエストモジュール import requests r = requests.get("https://www.baidu.com") print(r.status_code) #レスポンスステータスコード print(r.reason) #レスポンス情報 print(r.headers) # 応答ヘッダーを取得して dict 型を返します。引き続き get を使用して指定された値を 取得 でき ます.encoding) #Get 応答のエンコード形式
レスポンスボディ
Requests モジュールには、さまざまなレスポンスボディの内容の状況に応じて、4 つの異なる処理方法があります。
1. 通常のテキストデータ
Requests は、サーバーからのコンテンツを自動的にデコードします。ほとんどの Unicode 文字セットはシームレスにデコードできます。リクエストが行われた後、Requests は HTTP ヘッダーに基づいてレスポンスのエンコーディングについて知識に基づいた推測を行います。response.text にアクセスすると、リクエストは推測されたテキスト エンコーディングを使用します。response.text は使用後に文字化けする可能性が高いため、最初に response.encoding 属性を使用して、以下に示すようにエンコーディングを変更できます。
コード例:
#1、通常のテキストデータ url = "http://www.hnxmxit.com/" response = requests.get(url=url) print(response.content.decode("utf-8"))
実行結果を表示します。
2.バイナリデータ
非テキスト リクエストの場合、response.content はリクエストのレスポンス ボディにバイト単位でアクセスできます。Requests モジュールは、gzip の応答データを自動的にデコードし、転送エンコーディングをデフレートします。
# 2, バイナリデータ 応答 =requests.get("https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2073439784,2147418910&fm=26&gp=0.jpg") print(type(response.content)) # 出力 f: # バイナリ データをローカル ファイルに書き込むf.write (response.content)
実行結果を表示します。
三、jsonデータ
Requests には、返された JSON データを処理する組み込みの JSON デコーダ response.json() があります。使用後、返されたデータは python で json データ オブジェクトとして扱われます。JSON のデコードに失敗した場合、response.json() は例外をスローします。
url = 'https://api.weixin.qq.com/cgi-bin/token' data = {'Grant_type': 'Client_credential', 'Appid': 'WXF14419077856' ', ' Sec RET ': 92A113BD4B5FFDC72144740dc7123C99'} 応答= requests.get(url=url,params=data) # レスポンスは str 型なので、レスポンスを json に変換する必要があります json_obj = response.json() token = json_obj['access_token'] print(token)
4. 元の応答内容 (通常は使用されません)
サーバーから raw ソケット応答を取得する必要がある場合は、response.raw を使用できます。確実に取得できる場合は、最初の要求で stream=True を設定する必要もあります。
# 4, raw レスポンスの内容 (通常は使用しません) url = "https://www.baidu.com" response = requests.get(url=url,stream=True) print(response.raw.read(10))
実例
光学理論は役に立たないので、従うことを学ばなければならず、学んだことを実践に適用できるように、自分でやらなければなりません.このとき、いくつかの実践的なケースから学ぶことができます.
お役に立ちましたら、いいねとコレクションをお願いします。作者の励みになります。次回からすぐに見つけられるのも便利です。
理解できない場合は、下の小さなカードを参照してください. ブロガーはまた、志を同じくするテスターと一緒に学び、進歩することを望んでいます.
適切な年齢で、適切なポジションを選択し、自分の利点を最大限に発揮するようにしてください。
私の自動テスト開発の道のりは、途中の各段階の計画と切り離すことはできません。計画と要約が好きだからです。
ビデオ チュートリアルのテストと開発、ノートの学習、ポータルの受信を行います。! !