【Python】HTTP通信を簡単に行うrequestsモジュール【解説あり】

プログラミング
スポンサーリンク

スポンサーリンク

今回の記事を読むべき人

・Pythonの案件を獲得したい

・Pythonの基礎を学び終わった人

・APIを用いたWebサービス・アプリ開発を行いたい

HTTPメソッドについて知りたい

今回の記事はこれらのどれか一つでも当てはまった人に特におすすめしたい記事となっています。

Pythonについて

Pythonとは人工知能、機械学習、ディープラーニング、データ解析などに特化しており、2020年プログラミング言語人気ランキング1位になっているプログラミング言語です。

Pythonについて詳しく知りたい方はこちらのウェブサイトをどうぞ。

それではまずはHTTPメソッドについて軽く解説していきます。

HTTPメソッドについて

それではまずは本格的なrequestsモジュールの使い方について説明していく前にHTTPメソッドについての説明です。

HTTPメソッドとはクライアントがサーバーに対してリクエストを投げるときに「サーバーにしてほしい操作」を伝えるために使います。 具体的には「データの取得・作成・更新・削除」などの操作をお願いします。…

Web白熱教室さんのサイトより

HTTPメソッドは大きく分けて4つあります。

「GET」「POST」「PUT」「DELETE」の4つです。

これらの4つはAPIを用いたWebサービス・アプリ開発を行うときによく用いられます。

順に「データの取得・作成・更新・削除」となっています。

HTTPメソッドの詳しい説明は長くなりそうなので気になった方はこちらのサイトを見てみてください。

それではPythonでHTTPメソッドを扱うrequestsについて説明していきます。

requestsの使い方

まずはrequestsモジュールをインストールしていきましょう。

こちらのコードをターミナル上で打ち込んであげてください。

pip install requests

次にpayloadを辞書型で作ってあげます。

payload = {'key1': 'value1', 'key2': 'value2'}

それではまずはGETしてあげましょう。

今回のURLはhttp://httpbin.orgでやっていこうと思います。

r = requests.get('http://httpbin.org/get', params=payload)

POSTやPUTやDELETEしたい場合はこのようにしてあげてください。

paramの部分をdataにしてあげるだけですね。

r = requests.post('http://httpbin.org/post', data=payload)
r = requests.put('http://httpbin.org/put', data=payload)
r = requests.delete('http://httpbin.org/delete', data=payload)

最後に表示してあげましょう。

print(r.status_code)
print(r.text)
print(r.json())

getを実行するとこんな感じでサーバーの情報が表示されたはずです。

200
{
  "args": {
    "key1": "value1", 
    "key2": "value2"
  }, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Host": "httpbin.org", 
    "User-Agent": "python-requests/2.24.0", 
    "X-Amzn-Trace-Id": "Root=1-60729f57-6c4209736ad9a4b805066d50"
  }, 
  "origin": "43.234.217.171", 
  "url": "http://httpbin.org/get?key1=value1&key2=value2"
}

{'args': {'key1': 'value1', 'key2': 'value2'}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.24.0', 'X-Amzn-Trace-Id': 'Root=1-60729f57-6c4209736ad9a4b805066d50'}, 'origin': '43.234.217.171', 'url': 'http://httpbin.org/get?key1=value1&key2=value2'}

まとめのコード

それでは今回のrequestsモジュールを扱ったコードを載せておきます。

import requests

payload = {'key1': 'value1', 'key2': 'value2'}

#(GET) r = requests.get('http://httpbin.org/get', params=payload)
#(POST) r = requests.post('http://httpbin.org/post', data=payload)
#(PUT) r = requests.put('http://httpbin.org/put', data=payload)
#(DELETE) r = requests.delete('http://httpbin.org/delete', data=payload)

print(r.status_code)
print(r.text)
print(r.json())

それではおまけとしてPythonのおすすめの勉強方法を紹介したいと思います。

Pythonの勉強方法【おまけ】

Pythonの基礎文法を勉強するにはUdemyというオンラインプログラミング学習プラットフォームがおすすめです。

具体的に言うとこちらの講座です。

この講座だけで基礎文法だけでなく実践的な応用スキルまで身につけることができます。

めちゃくちゃわかりやすい講座なので気になる方は是非みてみてください。

私が受けたPythonの講座の中では最も良かったですし、この講座だけで案件を獲得できるようになるレベルまでプログラミングを上達させることができると思います。

実際多くの人がWeb上で高評価をしていてUdemyのPython講座といえばこの講座と言われているほどです。

今回紹介したrequestsのタイムアウトを指定する方法や標準のurllibについても追加でレクチャーしてくれています。

気になる方はこちらのリンクからどうぞ。

Udemy

その他の記事

おわりに

今回はHTTP通信を行う方法としてrequestsモジュールについて解説しました。

Pythonの案件では必ずと言っていいほどお世話になる内容だと思います。

Pythonの基礎を学び終えた方や案件を獲得したい方は勉強しておきたい内容です。

興味がある方はUdemyのコースを受けてみるのも良いかと思います。

Udemy

コメント

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