PythonでのRequestsの使い方とは?HTTPメソッドの実行方法を紹介!
- システム
エンジニア - PythonでのRequestsを使うと何ができるのですか。
- プロジェクト
マネージャー - Requestsを使うと、GET、POST、PUT、DELETEなどのHTTPメソッドを実行できます。
PythonでのRequestsの使い方とは?
今回は、PythonでのRequestsの使い方について説明します。Requestsを使用するとGET、POST、PUT、DELETEリクエストなどのHTTPメソッドの実行が可能です。
事前に「pip install requests」コマンドを実行してRequestsモジュールをインストールしておいてください。
PythonでのRequestsの使い方に興味のある方はぜひご覧ください。
GET
PythonでのGETリクエストの発行方法について紹介します。ここでは、GET、POST、PUT、DELETEリクエストなどのHTTPメソッドに対してレスポンスを返してくれる「https://httpbin.org」というサイトを使用します。実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
import requests
# URL指定
url = 'https://httpbin.org/get'
# RequestsのGETメソッド
response = requests.get(url)
print(response)
# <Response [200]>
print(type(response))
# <class 'requests.models.Response'>
# URL
print(response.url)
# https://httpbin.org/get
# ステータスコード
print(response.status_code)
# 200
# ヘッダ
print(response.headers)
# {'Date': 'Sat, 20 Feb 2021 04:44:57 GMT', 'Content-Type': 'application/json', 'Content-Length': '308', 'Connection': 'keep-alive', 'Server': 'gunicorn/19.9.0', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Credentials': 'true'}
# ヘッダの要素指定
print(response.headers.get('Date'))
# Sat, 20 Feb 2021 04:46:49 GMT
# ヘッダの要素指定(存在しない場合)
print(response.headers.get('hoge'))
# None
# jsonで取得
print(response.json())
# {'args': {}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.18.4', 'X-Amzn-Trace-Id':'Root=1-60309394-3f35719105e47447103b16cb'}, 'origin': '163.44.164.139', 'url':'https://httpbin.org/get'}
# jsonで取得(要素指定)
print(response.json().get('args'))
# {}
print(response.text)
#{
# "args": {},
# "headers": {
# "Accept": "*/*",
# "Accept-Encoding": "gzip, deflate",
# "Host": "httpbin.org",
# "User-Agent": "python-requests/2.18.4",
# "X-Amzn-Trace-Id": "Root=1-6030988f-2939178e065dfd026221e40a"
# },
# "origin": "163.44.164.139",
# "url": "https://httpbin.org/get"
#}
|
GETリクエストのレスポンスについて、様々な情報が取得できることが分かります。status_code200は正常処理のレスポンスを意味します。
また、PythonのRequestsでは、パラメータを指定することもできます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import requests
# URL, パラメータの指定
url = 'https://httpbin.org/get'
params = {'key': 'value1', 'key2': 'value2', 'key3': 'value3'}
# RequestsのGETメソッド
response = requests.get(url, params=params)
# jsonで取得
print(response.json())
# {'args': {'key': 'value1', 'key2': 'value2', 'key3': 'value3'}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.18.4', 'X-Amzn-Trace-Id': 'Root=1-60309988-3c422cee423eacfb6d9a6d40'}, 'origin': '163.44.164.139', 'url': 'https://httpbin.org/get?key=value1&key2=value2&key3=value3'}
# jsonで取得(要素指定)
print(response.json().get('args'))
# {'key': 'value1', 'key2': 'value2', 'key3': 'value3'}
|
POST
PythonでのPOSTリクエストの発行方法について紹介します。実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import requests
# URL, パラメータの指定
url = 'https://httpbin.org/post'
params = {'key': 'value1', 'key2': 'value2', 'key3': 'value3'}
# RequestsのPOSTメソッド
response = requests.post(url, params=params)
# ステータスコード
print(response.status_code)
# 200
# jsonで取得
print(response.json())
# {'args': {'key': 'value1', 'key2': 'value2', 'key3': 'value3'}, 'data': '', 'files': {}, 'form': {},'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Content-Length': '0', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.18.4', 'X-Amzn-Trace-Id': 'Root=1-60309a9c-4ea5b9cc50f4457c647b93b8'}, 'json': None, 'origin': '163.44.164.139', 'url': 'https://httpbin.org/post?key=value1&key2=value2&key3=value3'}
|
PUT
PythonでのPUTリクエストの発行方法について紹介します。実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import requests
# URL, パラメータの指定
url = 'https://httpbin.org/put'
params = {'key': 'value1', 'key2': 'value2', 'key3': 'value3'}
# RequestsのPUTメソッド
response = requests.put(url, params=params)
# ステータスコード
print(response.status_code)
# 200
# jsonで取得
print(response.json())
# {'args': {'key': 'value1', 'key2': 'value2', 'key3': 'value3'}, 'data': '', 'files': {}, 'form': {},'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Content-Length': '0', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.18.4', 'X-Amzn-Trace-Id': 'Root=1-60309b1e-1a9782425677f7252c559162'}, 'json': None, 'origin': '163.44.164.139', 'url': 'https://httpbin.org/put?key=value1&key2=value2&key3=value3'}
|
DELETE
PythonでのDELETEリクエストの発行方法について紹介します。実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import requests
# URL, パラメータの指定
url = 'https://httpbin.org/delete'
params = {'key': 'value1', 'key2': 'value2', 'key3': 'value3'}
# RequestsのDELETEメソッド
response = requests.delete(url, params=params)
# ステータスコード
print(response.status_code)
# 200
# jsonで取得
print(response.json())
# {'args': {'key': 'value1', 'key2': 'value2', 'key3': 'value3'}, 'data': '', 'files': {}, 'form': {},'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Content-Length': '0', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.18.4', 'X-Amzn-Trace-Id': 'Root=1-60309b7a-5031017742bbe0bd5f1c2b84'}, 'json': None, 'origin': '163.44.164.139', 'url': 'https://httpbin.org/delete?key=value1&key2=value2&key3=value3'}
|
- システム
エンジニア - Requestsを使ってGET、POST、PUT、DELETEなどのHTTPメソッドの実行の仕方がよく分かりました。
- プロジェクト
マネージャー - ご紹介したソースコードを参考にしてください。
まとめ
いかがでしたでしょうか。PythonでのRequestsの使い方について説明しました。Requestsを使うと、GET、POST、PUT、DELETEリクエストなどのHTTPメソッドを実行できます。
HTTPメソッドのテストをするには、「https://httpbin.org」を利用すると便利です。ぜひご自身でPythonのソースコードを書いて、理解を深めてください。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
Python新着案件New Job
-
マルチロガーソフト開発/東京都豊島区/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円東京都豊島区(池袋駅) -
マルチロガーソフト開発/東京都豊島区/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円東京都豊島区(池袋駅) -
商品化予定の振動センサーの運用保守/Python/東京都都内/【WEB面談可】
月給50万~60万円東京都都内(-駅) -
商品化予定の振動センサーの可視化UI開発のテスター/Python/東京都都内/【WEB面談可】
月給25万~35万円東京都都内(-駅) -
商品化予定の振動センサーの運用保守/Python/東京都都内/【WEB面談可】
月給50万~60万円東京都都内(-駅) -
商品化予定の振動センサーの可視化UI開発のテスター/Python/東京都都内/【WEB面談可】
月給25万~35万円東京都都内(-駅)