requests
HTTP送信を行う。比較的読みやすく記述することができる。
GET, POST送信
requests.get()またはrequests.post()を使う。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import requestspost_datas = {'aaa': 'bbb', 'ccc': 'ddd'}get_params = {'eee': 'fff', 'ggg': 'hhh'}r_get = requests.get(upload_url, params=get_params)r_post = requests.post(upload_url, data=post_datas, params=get_params)print(r_get.text)print(r_post.text) |
GETパラメータの送信には、requests.get()のparams引数に、辞書形式のデータを渡す。
POSTパラメータの送信には、requests.post()のdata引数に、辞書形式のデータを渡す。この時、paramsを渡すことも可能。
ファイル送信
1 2 3 4 5 6 7 8 9 |
import requestsfile_path = '(ローカルのファイルパス)'files = {'zipfile': ('filename.zip', open(file_path, 'rb'))}r = requests.post(upload_url, files=files)print(r.text) |
requests.post()のfiles引数に情報を渡す。渡す情報(files)は辞書形式で、キーには任意の識別名、値には、(ファイル名, バイナリ読込で開いたファイルハンドラ)のタプルを渡す。この時、dataやparams引数で一緒に他の情報を与えることも可能。
受け取り側は、たとえばPHPなら$_FILES定数に入っている。(参考: PHP $_FILES(ファイル変数)のすべて!【初心者向け基本】 | WEPICKS!)
1 2 3 4 5 6 7 8 9 |
<?php// $_FILESを連想配列として、指定した識別名で読み取れるecho $_FILES['zipfile']['name'] // => filename.zipecho $_FILES['zipfile']['size'] // => 1234 (byte)echo $_POST['aaa'] // => bbbecho $_POST['ccc'] // => dddecho $_GET['eee'] // => fffecho $_GET['ggg'] // => hhh |

