Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
103
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

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

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
103
Help us understand the problem. What are the problem?