119

次のようなコードがあります。

var req = require('request');

req.post('someUrl',
   { form: { username: 'user', password: '', opaque: 'someValue', logintype: '1'}, },
   function (e, r, body) {
      console.log(body);
});

これにヘッダーを設定するにはどうすればよいですか? ユーザーエージェント、コンテンツタイプ、そしておそらくヘッダーに何か他のものが必要です:

headers = { 
   'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36',
   'Content-Type' : 'application/x-www-form-urlencoded' 
};

複数の方法で試しましたが、ヘッダーまたはフォームデータのいずれかを送信でき、両方を送信できませんでした。

4

5 に答える 5

205

私はついにそれを行うことができました。以下のコード スニペットで答えてください。

var querystring = require('querystring');
var request = require('request');

var form = {
    username: 'usr',
    password: 'pwd',
    opaque: 'opaque',
    logintype: '1'
};

var formData = querystring.stringify(form);
var contentLength = formData.length;

request({
    headers: {
      'Content-Length': contentLength,
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    uri: 'http://myUrl',
    body: formData,
    method: 'POST'
  }, function (err, res, body) {
    //it works!
  });
于 2014-07-09T10:14:07.907 に答える
55

これはうまくいくはずです。

var url = 'http://<your_url_here>';
var headers = { 
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Firefox/24.0',
    'Content-Type' : 'application/x-www-form-urlencoded' 
};
var form = { username: 'user', password: '', opaque: 'someValue', logintype: '1'};

request.post({ url: url, form: form, headers: headers }, function (e, r, body) {
    // your callback body
});
于 2013-06-15T19:15:47.363 に答える
8

この問題の解決策を見つけたので、うまくいくはずです。私も同じ問題に直面したので、私はこれについて確信しています

ここに私の解決策があります----->

var request = require('request');

//set url
var url = 'http://localhost:8088/example';

//set header
var headers = {
    'Authorization': 'Your authorization'
};

//set form data
var form = {first_name: first_name, last_name: last_name};

//set request parameter
request.post({headers: headers, url: url, form: form, method: 'POST'}, function (e, r, body) {

    var bodyValues = JSON.parse(body);
    res.send(bodyValues);
});
于 2018-09-11T05:39:29.753 に答える