IT

Node.JS : 요청 모듈을 사용하여 양식 데이터와 함께 헤더를 이용하는 방법

lottoking 2020. 8. 21. 08:05
반응형

Node.JS : 요청 모듈을 사용하여 양식 데이터와 함께 헤더를 이용하는 방법


다음과 같은 코드가 있습니다.

var req = require('request');

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

이에 대한 접근을 접근 할 수 있습니까? user-agent, 콘텐츠 유형 및 아마도 헤더가 필요합니다.

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' 
};

여러 가지 방법으로 시도했지만 시도하거나 양식 데이터를 보낼 수 있습니다 둘 다 보내지.


나는 마침내 그것을 할 수 있었다. 아래 코드 스 니펫에 답하십시오.

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!
  });

작동합니다.

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
});


나는 당신이 HTTP METHOD를 잊었 기 때문이라고 생각합니다 . 요청의 기본 HTTP 메소드는 GET입니다.

method: 'POST'백엔드가 게시물 메소드를 추가 해야 코드가 작동합니다.

var req = require('request');

req.post({
   url: 'someUrl',
   form: { username: 'user', password: '', opaque: 'someValue', logintype: '1'},
   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' 
   },
   method: 'POST'
  },

  function (e, r, body) {
      console.log(body);
  });

나는이 문제의 해결을 찾았고 나는 같은 문제에 직면하기 때문에 이에 대해 확신한다.

여기 내 해결이 있습니다 ----->

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);
    console.log(updatedValues.first_name);
    console.log("====================================");
    console.log('error:', e); // Print the error if one occurred
    console.log('statusCode:', r && r.statusCode); // Print the response status code if a response was received
    console.log('body:', body); // Print the HTML for the Google homepage.
    console.log("====================================");
    res.send(bodyValues);
});

참고 URL : https://stackoverflow.com/questions/17121846/node-js-how-to-send-headers-with-form-data-using-request-module

반응형

'IT' 카테고리의 다른 글

CSS 전환에 대한 예비  (0) 2020.08.21
캐스트 목록  (0) 2020.08.21
원 그리기 애니메이션  (0) 2020.08.21
CSS를 사용하여 멋진 화살표를 만드는 방법?  (0) 2020.08.21
node.js, 오류 : 'express'오류를 수 없습니다.  (0) 2020.08.21