2017-05-02 18 views
0

私は残りのAPIを呼び出すためにcurlコマンドを使用しています。私は、データを投稿したいとのように私のcurlコマンドに見えます:私は次のメッセージを取得していますcurlコマンド - Ubuntuでxn-x-5gn/postを解決できませんでした

curl –x POST -u 'username:PW' -k -H "Content-Type:application/json" -d '{"json-input":{"handler":"getContent","image":true,"video":false,"text":false,"source":"1","lage":"testlage1"}}' -i http://localhost:8080/com.knime.enterprise.server/rest/v4/jobs/3fd2ca61-c173-4160-a20d-45c387f65f64 

カール:(6)ホスト解決できませんでした:XN - X-5GNカールを:( 6)いいえ 解決ホスト:POST

+0

次のコマンドを試してください:curl --request POST -u 'username:PW' -k -H "Content-Type:application/json" -d '{"json-input":{"handler": "getContent" 、 "image": "video":false、 "text":false、 "source": "1"、 "lage": "testlage1"}} '-i http:// localhost:8080/com.knime .enterprise.server/rest/v4/jobs/3fd2ca61-c173-4160-a20d-45c387f65f64 – shahin

答えて

1

Xの前の文字は間違っています。これは、質問で使用されているように、アスキーマイナス( ' - '、アスキーコード0x2d/45)で、unicode dash character(U + 2013)ではありません。

curlはマイナスで始まらないすべてのオプションをURLとして扱い、ダッシュ-X文字列をIDNホスト名に変換して試します。それから、 "POST"ホスト名がダッシュXに続くように試し続けます。これらのホスト名は解決できません。これはカールエラーメッセージです。

最後に、-d(または-F)の投稿を行うときは、-X POSTを使用しないでください。 -X POSTを完全に削除すれば、問題なく動作します。

+0

curl:URLが指定されていません! 私のコードは次のようになります。let getDataUrl = "http:// localhost:8080/com.knime.enterprise.server/rest/v4/jobs /" let dataStringFy = {"json-input":{"handler" 「curl -X POST -u」とすると、「getContent」、「image」:true、「video」:false、「text」:false、「source」:「1」、「lage」:「testlage1」}} 'username:pw -H'コンテンツタイプ:application/json '-d "+"' "+ dataStringyFy +" '"+ getDataUrl; – Tony

+0

代わりに私のアドバイスに従う代わりに、あなたはコマンドラインを完全に殺害した?私はそれがここの道だとはっきりしていません... –

0

使用中の端末のソフトウェアのコードページの設定を確認し、我々は同じ奇妙なホスト名エラーがシンプル

カール-v HTTPに戻って見た私達の場合のホスト設定

にこれらを比較:// {hostname}:{port}

問題がダッシュ文字であることがわかりました。 Puttyで指定されたコードページがホストで使用されているコードページと一致していなかったため、curlは-v式をホスト名として扱いました。

関連する問題