2016-11-18 7 views
0

サービスからのデータがGETになる必要があります。私はそれにidsの束を渡しています。ファイル内のIDの数千人がありますcurl get引数リストが長すぎます

1,2,3,4,5,6,7,8,9,10,.....10000. 

id_file猫:

IDはコンマ

例で区切られたファイルに保存されます。私が使用して私のシェルスクリプト

id_list=$(cat id_file) 

curl -H "Authorization: Bearer $token" -X GET "http://prk.xyx.com/tpt/abc/v2/dce_info?Id=$id_list&mpId=0" > op_data.json 

でcurlコマンドは、カールPOSTで今すぐエラーで"/usr/bin/curl: Argument list too long".

を失敗し

我々は@filenameを指定することができます。私たちは何かリクエストをするために何かできますか?

答えて

0

あなたはあなたの要求が読み込ませるJSONにデータを渡すことができ可能であれば、いくつかの方法が容易ではなく、アレイ全体

curl -X POST -H "Content-Type: application/json" -d @- "$HOST" <<CURL_DATA 
{ "data": "$DATA" } 
CURL_DATA 
+0

入力していただきありがとうございます.GET POSTではないという問題に直面しています – donny

4

あなたは、「設定ファイル」からではなくからすべてのオプションとURLを読むことを選ぶことができますコマンドラインで-Kを使用すると、長さの制限が完全になくなります。また、必要に応じて "configファイル"をstdinから読み込むこともできます。そのため、スクリプトを書くときには、実際にこの目的のために一時ファイルを作成する必要はありません。

フリーカールの本のconfig fileセクションも参照してください。

+0

Danielさん、ありがとうございました – donny

関連する問題