search
LoginSignup
103

More than 5 years have passed since last update.

posted at

updated at

curlコマンドをPythonやnode.jsのコードに変換する方法

curlでAPIを試す

curlコマンドでAPIの振る舞いを試すということがあると思います。
振る舞いがわかれば、あとはそれを実際にコードの中で使おうという流れになると思うのですが、私の場合pythonのrequestsモジュールを使って書き換えようと思ったときに、少しつまづきました。

APIのリファレンスを見ると、こうやってcurlで書くと取得できるよと、curlコマンドのサンプルが記載されていたりするのですが、それをそのままコピーして使うことはもちろんできても、コードに書き換えるときに、

  • curlのこのオプションは一体何を表しているのか
  • 他のモジュールを使って書く場合は、どうやって書けばいいのか

など発生します。

そんなときに見つけたのが、こちら

コピペするだけ

Convert curl syntax to Python, Node.js, PHP

curlコマンドをそのまま左側のテキストエリアにコピペすれば、右側のテキストエリアにPythonのrequests,Node.js,PHPのコードに変換してくれます。

sample.png

実際の例

リクルートのTalk APIをcurlからPythonのrequestsにした例


Before(curl command)

curl -X POST https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk \
-F "apikey=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" \
-F "query=おはよう"

After(Python requests)

import requests

files = {
    'apikey': (None, 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'),
    'query': (None, '\u304A\u306F\u3088\u3046'),
}

response = requests.post('https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk', files=files)


requestsの書き方が違って何回かコードを書き直すという手間がなくなりますね。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
103