
これは本当に典型的な問題です。サーバーに投稿する必要がある XML ファイルがあります。そのサイトのネットワーク エンジニアから cURL 関数を使用するように言われました。彼が私に提供してくれた関数は...
curl --data-binary @/opt/somefile.xml http://1.2.3.4/gateway/submit?source=FOO&conversationid=1234567
このコマンドを実行すると、「URL が不正です。400 ステータスが返されます」というエラーが繰り返し表示されます。
私はかなり長い間この問題に悩まされており、かなりイライラしています。実行しようとしましたが...
curl http://1.2.3.4/gateway/submit?source=FOO&conversationid=1234567
そして、マシンから「テスト メッセージ」という応答が返され、ホスト システムの識別パラメータもいくつか返されました。これは、宛先の URL が正常であり、cURL コマンド経由でアクセスされていることを意味すると考えられます。
--data-binary 経由で XML ファイルを送信するための特別な要件はありますか? XML は特別な方法でフォーマットする必要がありますか? cURL コマンドの構文は間違っていますか?
ご協力いただければ幸いです。
答え1
問題が分かりました。この質問に対する答えは、Letizia による議論の早い段階で出ていましたが、問題は私が渡していた URL の構文にありました。どうやら、
...送信?source=FOO&conversationid=1234567
しかし、実際には「I」(小文字の i ではなく大文字の I)を渡す必要があります。これはタイプミスで、解決するのに 1 週間以上かかりました。
ただし、引用符 (一重引用符) が欠落していたため、コマンドはそれ以外でも間違っていました。