Python3 – cURL

基本形~GET

Python3で指定したURLのサイトからレスポンスを得る手順は以下のとおり。

  1. urllib.request.urlopenで接続のオブジェクトを得る
  2. 接続オブジェクトに対してreadメソッドを実行する

ただし結果はバイト列で得られる。

urlopenの引数にURLを指定

以下はurlopenの引数にURLを指定した手順。

  1. urlopenの戻り値(Responseオブジェクト)を変数responseに保存
  2. responsereadメソッドメソッドでレスポンスの内容を取得

レスポンスの内容はバイト列で返される。

文字列でレスポンスを得るには、decodeメソッドでバイト列を文字列にデコードする。

urlopenの引数にRequestオブジェクトを指定

まずURLを指定してurllib.request.Requestオブジェクトを生成し、これをurlopenの引数として接続を開く。

POST

ポストの流れは以下のとおり。

  • urllib.requesturllib.parseをインポートする
  • urlopenの引数にRequestオブジェクトを渡す
  • Requestオブジェクト生成時にdata引数を指定するとPOSTメソッドになる(method='POST'がなくてもよい)
  • dataへ渡す引数は、以下のように処理
    • 元のパラメータ群を辞書で準備
    • そのデータをurllib.parse.urlencodeでエンコード(utf-8のエンコードも加える)

以下はhttpbin.orgを利用して確認した例。httpbin.org/postからのレスポンスがJSON形式なので、jsonライブラリーをインポートしてレスポンスを整形している。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です