【Python】requestsモジュールの使い方

Pythonの応用
スポンサーリンク

Pythonの標準ウェブライブラリであるurllibのurllib.requestをつかってHTTPメソッドをテストサービスサイトのhttps://httpbin.org/ で操作しました。

【Python】標準ウェブライブラリurllib.requestの使い方
Pythonの標準ウェブライブラリであるurllib.requestを使って、HTTP通信を行います。HTTPメソッドのGET、POST、PUT、DELETEの操作を https://httpbin.org を使ってテストしてみます。

ここでは、サードパーティライブラリであるrequestsを使ってurllib.requestの操作と同じことをやってみようと思います。

スポンサーリンク

requestsの使い方

requestsはサードパーティなのでインストールする必要があります。インストールがまだであればAnacondaを利用してるなら、Anaconda Navigatorからいストールするか、ターミナルからcondaを使ってconda install requestsでインストールします。またはpip install requestsでも構いません。

では、https://httpbin.org/ を使って、HTTP通信のテストをしていきましょう。

まず、requestsをインポートします。

import requests

GET

まずはGETからやっていきましょう。

urllib.requestでやった時と同じように次のパラメーターを用意します。

data = {‘k1’: ‘v1’, ‘k2’: ‘v2’}

コードを書いてみます。

import requests

data = {'k1': 'v1', 'k2': 'v2'}

r = requests.get('https://httpbin.org/get', params=data, timeout=1)
print(r.status_code)
print(r.text)

モジュールをインポートしてパラメータを用意します。get()にURLとパラメーターを渡します。ここではtimeoutを1秒に設定しました。1秒以内にレスポンスがなければエラーになります。statsu_codeと結果をtextで出力します。

実行するとこうなります。(ファイル名をhttpbin.pyにしてAtomで実行しています)

ステータスコードも200が表示され、結果が返されています。

POST

次はPOSTをやっていきましょう。

コードは次のように書いてみました。

import requests

data = {'k1': 'v1', 'k2': 'v2'}

r = requests.post('https://httpbin.org/post', data=data)
print(r.status_code)
print(r.json())

post()にURLを変えて渡しているだけです。出力を今回はjson形式でやってみました。

実行するとこうなります。

同様に結果が返っています。

PUT

PUTも同様です。

import requests

data = {'k1': 'v1', 'k2': 'v2'}

r = requests.put('https://httpbin.org/put', data=data)
print(r.status_code)
print(r.json())

put()にURLを変えて渡しているだけです。

結果はこうなります。

DELETE

最後にDELETEをやっておきましょう。

これも同様です。

import requests

data = {'k1': 'v1', 'k2': 'v2'}

r = requests.delete('https://httpbin.org/delete', data=data)
print(r.status_code)
print(r.json())

delete()にURLを変えて渡しています。

実行するとこうなります。

同様に結果が得られました。

スポンサーリンク

まとめ

ここではPythonのurllib.requestと同様にサードパーティのrequestsを使って、HTTP通信のテストをやってみました。

urllib.requestで書いたコードよりも、requestsを使った方が簡単にかけているのでこちらの方が便利で楽な面があります。

ほとんどの目的でWeb開発にはrequestsを使う方が簡単だと言われているようです。

タイトルとURLをコピーしました