2017-02-10 4 views
0

私は新しく、コンソールから直接物事をすることに興奮しています! :)CURLリクエストのデータ入力用のパラメータとしてローカルファイルを入力する

今日、私はmeaningcloud APIの略語などで遊んでいましたが、テキストをURLに直接入力すると、txt=here%20my%20textのようにパラメータが大きくなりました。説明in their docsようdoc=パラメータを使用して、ファイルからの入力を供給しようとしたとき

はしかし、私は次のような応答を得続ける:

{"status":{"code":"200","msg":"Missing required parameter(s) - [txt]", ... 

ドキュメントは、私がdocurltxtのいずれかを使用することができることを読んでテキスト入力のソースを指定するパラメータとして使用しますが、ここで何か間違っているようです。

異なるバージョンの絶対パスと相対パスでしばらく試してみましたが、ファイルから直接入力を取得する方法を理解できませんでした。

ここで私が作っていた1例の呼び出しだ、多分誰かが(私はそこではなく、{my_key_here}私のAPIキーを持っている本当の呼び出しに!)私のエラーに私を指すことができます。

curl -K -XPOST "https://api.meaningcloud.com/parser-2.0?key={my_key_here}&of=json&lang=es&doc=Users/Martin/Documents/text.txt" >> output.json 

私はより多くを試してみました一般的な回答はhereですが、同じエラー応答があります。私はこれが私の一般的なエラーかAPIに固有のものかどうか疑問に思っています。

ありがとうございました!

+1

それは、その後にファイル名として '-XPOST'を扱いますよう、' -K'オプションは、けれどもそこに完全に間違っていますread from ...おそらく小文字の '-k'を意味します。 –

+0

ああ!どうもありがとう。はい、私はそれをチェックせずにこれをコピーしました!ここでそれを読んでください:https://curl.haxx.se/docs/manpage.htmlそしてこれは全く必要ありません。 –

+0

まだ動作していませんが、そこには他にも問題があるはずです。 –

答えて

0

@ルーカス劉さんの答えはthis threadにあります!

curl -i -F [email protected] "https://etc." 

そして@Danielステンバーグのナッジも(curl manualから)私の最初のエラーを把握するために私を助け:

@filename

これは、(指定したファイルからカール負荷データを作成します任意の 改行を含む)、そのデータをURLエンコードしてPOSTで渡します。

ファイルURLを文字列として渡していました。これは、@というシンボルを付加していないためです。だから、(APIのsuggested formatで)元のコールの作業バージョンは、次のようになります。

curl -XPOST "https://api.meaningcloud.com/parser-2.0?key={my_api_key}&of=json&lang=es&[email protected]/Martin/Documents/text.txt" -o output.json 
+1

... "-X POST"をよく削除しました –

+0

素晴らしい!それは "-X POST"なしで動作します、もう一度ありがとう!今はファイルを渡しているので、長い文字列を許可するためにPOSTを使う必要がないので、これは正しいと思いますか? –

+0

いいえ、それは、-FはPOSTを行うことを意味し、後で '-L'またはそれに類するものを追加すると間違いを招くと主張します。 –

関連する問題