次のようなモジュール で PasteBin APIを使用して、新しいペーストを作成しようとしています。request
var request = require("request");
request({
url : "http://pastebin.com/api/api_post.php",
method : "POST",
qs : {
"api_dev_key" : MY_DEV_KEY,
"api_option" : "paste",
"api_paste_code" : "random text"
}
},function(err,res,body){
...
});
私の理解では、メソッドはPOSTクエリ文字列パラメーターが提供されているため、オブジェクトの値は本体にペアqsとして格納されます。key=value(参照: HTTP POST リクエストでパラメーターはどのように送信されますか? )
ただし、Bad API request, invalid api_optionPasteBin からは a が返されます。だから私curlは自分の端末からのリクエストを次のように編集しました:
curl -X POST "http://pastebin.com/api/api_post.php" -d "api_dev_key=[MY_DEV_KEY]&api_option=paste&api_paste_code=some+random+text"
そしてこれはうまくいきました。
したがって、これは 2 つの質問につながります。
POSTリクエストが作成されて提供されたときに、パラメータはどの程度正確に送信qsされますか?requestモジュールだけを使用して URL エンコードされた本文を送信するにはどうすればよいですか?