LoginSignup
122
102

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-01-16

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の書き方が違って何回かコードを書き直すという手間がなくなりますね。

122
102
5

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
  3. You can use dark theme
What you can do with signing up
122
102