2017-06-21 13 views
0

このトピックにはいくつかのスレッドがありますが、悲しいことには役に立たなかった。私はCurlを使用しており、API呼び出しのサンプルは:algorithmia - developers/getting-started/API呼び出しのカールの問題 - ホストを解決できませんでした

サンプルコードを使用して私はこれをCurlで投稿します: curl -X POST -d '"MY_USERNAME"' -H 'コンテンツタイプ:アプリケーション/ JSON' -H '認証:シンプルMYKEY_SECRET' https://api.algorithmia.com/v1/algo/demo/Hello/0.1.1

私はこの応答を取得:

カール:(6)ホストを解決できませんでした:アプリケーション カール:(6)ができませんでしたホストを解決する:シンプル curl:(6)ホストを解決できませんでした:simNBQHl {"エラー":{"メッセージ": "承認が必要"}}

私はさまざまな編集を試みました(二重括弧を含み、​​ある点でのスペースを削除しました) - これはうまくいかず、無効なjsonの応答が得られることがあります。私が見逃す可能性のある明白な事柄についての洞察はありますか?

私はWindowsのコマンドプロンプトを使用しており、原因が考えられる場合に備えてテキストを貼り付けていますが、メモ帳にコードを貼り付けてから喜んでコピーしてみました。

ありがとうございます!

答えて

0

Windowsのコマンドプロンプトは、エスケープされた文字列としてUNIXが行うよう求められている方法を''を扱わないので、URLの引数としてapplication/json'を読んでいる、とapplicationはDNS名(最初のエラー)として解決されない - を参照しますEscaping Double Quotes in Batch Script

あなたのような何かをする必要があるでしょう:

curl -X POST -d """MY_USERNAME""" -H "Content-Type: application/json" -H "Authorization: Simple MYKEY_SECRET" "https://api.algorithmia.com/v1/algo/demo/Hello/0.1.1" 
+0

感謝を - これは完璧に動作します。私はそれがWindowsのコマンドプロンプトと何か関係があると思っていましたが、Windows上で他のCLIツールを試しても同じ問題がありました。上記のような問題を避けるために使用するより良いCLIがありますか? – tbuckham

+0

WindowsにはPowerShellがあり、UnixシェルのいくつかをCygwinを使ってWindows上で実行することもできます。これによりunixy/linuxyのものをネイティブにコンパイルすることができます。私はbashやzshのようなものを使うのが好きですが、Windowsではどのシェルを選択するのか分かりません。私はそれをあまり使わない。 – Fiid

関連する問題