CodeGym /Javaコース /Python SELF JA /ネットワークとのやり取り

ネットワークとのやり取り

Python SELF JA
レベル 23 , レッスン 2
使用可能

3.1 モジュール requests

Pythonでは、ネットでの基本的な作業にrequestsライブラリが使えるよ。これを使うと、ネットワーク操作を簡単にして、HTTPリクエストを送信したり、最小限の手間でレスポンスを受け取ったりできるんだ。

このライブラリはPythonに元から入ってないから、使う前にパッケージマネージャーでインストールしないといけないよ。

ターミナルを開いて、こうしてみて:


pip install requests
        

ライブラリをインストールした後は、requestsモジュールを自分のプロジェクトで使えるよ。例えば、こんな感じで外部のIPアドレスを確認できるんだ:


import requests

response = requests.get("http://ip.jsontest.com/")
print(response.status_code)  # ステータスコードを表示
print(response.json())       # JSONレスポンスを表示

ここではip.jsontest.comというサービスにリクエストを送信して、JSON形式のオブジェクトとしてIPアドレスを取得してるよ。リクエストとレスポンスが一行で完結するから凄く便利だよ。他の行ではサーバーからのレスポンスを出力してるだけだよ。

上の例で使ったget()メソッドについて、次にこのメソッドやrequestsオブジェクトの他のメソッドについて説明するね。

3.2 メソッド一覧

requestsオブジェクトには、あらゆるシチュエーションに対応するメソッドが備わってるんだ。厳密には、各HTTPリクエストタイプに一つずつメソッドがあるんだよ。

メソッド 説明
requests.get() サーバーからデータを取得するためにGETリクエストを送信するよ。
requests.post() サーバーにデータを送信するためにPOSTリクエストを送信するよ。
requests.put() サーバー上のデータを更新するためにPUTリクエストを送信するよ。
requests.delete() サーバー上のデータを削除するためにDELETEリクエストを送信するよ。
requests.head() レスポンスの本文なしでヘッダーを取得するためにHEADリクエストを送信するよ。
requests.options() サーバーが対応しているメソッドやパラメータを確認するためにOPTIONSリクエストを送信するよ。
requests.patch() サーバー上のデータを部分的に更新するためにPATCHリクエストを送信するよ。
requests.request() すべてのHTTPリクエストタイプを送信するための主要メソッドだよ。

以下では、最も基本的なものについて詳しく見ていくよ。

3.3 GETリクエストPOSTリクエストの送信

GETリクエストは通常、URLだけで構成されるけど、追加のパラメータ文字列を含むこともあるよ。

1. シンプルなGETリクエストの送信

GETリクエストはサーバーからデータを取得するために使われるよ。必須のパラメータはリクエストを送るURLなんだ。

例:


import requests

response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.status_code)  # ステータスコードを表示
print(response.json())       # JSONレスポンスを表示

2. パラメータ付きGETリクエストの送信

また、URLにはkey=value&key2=value2&…の形式で追加のパラメータを含めることができるよ。

この場合、パラメータは辞書とparamsという変数を使って渡されるんだ:


import requests

params = {'userId': 1}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)
print(response.json())

3. POSTリクエストの送信

POSTリクエストはリクエストの本文にテキストやJSON、画像などを含めることができるんだ。

例:


import requests

data = {
    'title': 'foo',
    'body': 'bar',
    'userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.status_code)
print(response.json())

3.4 PUTリクエストDELETEリクエストの送信

1. PUTリクエストの送信

PUTリクエストはサーバー上のデータを更新するために使われるんだ。


import requests

data = {
    'title': 'foo',
    'body': 'bar',
    'userId': 1
}
response = requests.put('https://jsonplaceholder.typicode.com/posts/1', json=data)
print(response.status_code)
print(response.json())

2. DELETEリクエストの送信

DELETEリクエストはサーバー上のデータを削除するために使われるよ。


import requests

response = requests.delete('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)
print(response.json())

GETPOSTPUTDELETEリクエストの理解を深めるためには、ネットワークの仕組み、インターネット、ウェブ、HTTPについてのレクチャーを読むといいよ。これらは近い将来に学ぶことになるから楽しみにしてね。

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION