Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

tottu22
AIやIoTに関する研究開発をやっています。クラウド関係にも最近興味があり、勉強中です。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away