【Python】Python ~ Requestsライブラリ ~

■ はじめに

https://dk521123.hatenablog.com/entry/2022/08/05/000000

では、標準モジュールのを使った urllib を使ったが
今回は、 Requestsライブラリを取り扱う。

目次

【1】Requestsライブラリ
【2】インストール
【3】サンプル
 例1:Hello world
 例2:パラメータ渡し+Timeout設定
 例3:POST通信
 例4:ファイルアップロード

【1】Requestsライブラリ

* HTTPリクエストを実行できるサードパーティーライブラリ

https://docs.python-requests.org/en/latest/
https://docs.python-requests.org/en/latest/user/quickstart/#make-a-request

* 標準ライブラリ urllib よりシンプルに書ける
 => urllib の詳細については、以下の関連記事を参照のこと

Python ~ 基本編 / urllib ~
https://dk521123.hatenablog.com/entry/2022/08/05/000000

【2】インストール

pip install requests

【3】サンプル

例1:Hello world

import requests

url = 'https://dk521123.hatenablog.com/entry/2020/11/21/000000'
headers = {
  'Content-Type': 'text/html'
}

response = requests.get(url, headers=headers)

print(response)
print(response.status_code)
print(response.text)
print(response.content)

例2:パラメータ渡し+Timeout設定

import requests

payload = { "key1": "Hello", "key2": "world" }

response = requests.get(
  "http://httpbin.org/get",
  params=payload,
  timeout=10, # 10sec
)

print(response.status_code)
print(response.text)
print(response.json())

例3:POST通信

import requests

payload = { "key1": "Hello", "key2": "world" }

response = requests.post(
  "http://httpbin.org/post",
  params=payload,
  timeout=5, # 5sec
)

print(response.status_code)
print(response.text)
print(response.json())

例4:ファイルアップロード

import requests

mimetype = "appication/java-archive"
jar_file = "/jars/test.jar"
file_conetent = open("your-jar.jar", 'rb').read()

uploading_files = { "uploadFile": (jar_file, file_conetent, mimetype) }
target_url = "http://localhost:8080/jars/upload"

response = requests.post(target_url, files=uploading_files)
print(f"response = {response.json()}")

https://qiita.com/5zm/items/92cde9e043813e02eb68

参考文献

https://qiita.com/5zm/items/92cde9e043813e02eb68
https://note.nkmk.me/python-requests-usage/

関連記事

Python ~ 基本編 / urllib ~
https://dk521123.hatenablog.com/entry/2022/08/05/000000
Lambda ~ Python / S3トリガー ~
https://dk521123.hatenablog.com/entry/2024/05/23/162229
Lambda ~ Python / 外部モジュール追加 ~
https://dk521123.hatenablog.com/entry/2024/05/25/005456