Python+Requests モジュールは応答コンテンツを取得します

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))

実例

光学理論は役に立たないので、従うことを学ばなければならず、学んだことを実践に適用できるように、自分でやらなければなりません.このとき、いくつかの実践的なケースから学ぶことができます.

お役に立ちましたら、いいねとコレクションをお願いします。作者の励みになります。次回からすぐに見つけられるのも便利です。

理解できない場合は、下の小さなカードを参照してください. ブロガーはまた、志を同じくするテスターと一緒に学び、進歩することを望んでいます.

適切な年齢で、適切なポジションを選択し、自分の利点を最大限に発揮するようにしてください。

私の自動テスト開発の道のりは、途中の各段階の計画と切り離すことはできません。計画と要約が好きだからです。

ビデオ チュートリアルのテストと開発、ノートの学習、ポータルの受信を行います。! !

おすすめ

転載: blog.csdn.net/Liuyanan990830/article/details/130116103