2014-07-23 3 views
0

POST 요청을 통해 내 사용자 이름과 암호를 보내서 노드를 통해 사이트를 인증하려고 시도합니다. 로그인 양식이 그렇게하는 것처럼 보입니다. Postman으로 시도해도 정상적으로 작동하며 대시 보드로 리디렉션됩니다.Node.js의 POST 요청을 통해 인증합니다.

사용자 이름과 암호 필드는 불행히도 사용자 이름과 암호로 표시되지 않지만 j_username과 j_password로 표시됩니다.

POST /path/for/auth/request HTTP/1.1 
Host: site.com 
Cache-Control: no-cache 
Postman-Token: b6656210-caeb-2b62-d6b6-e10e642b200b 
Content-Type: application/x-www-form-urlencoded 
j_username=myusername&j_password=mypassword 

그래서 내가 노드에서 이것을 시도 :

var request = require('request'); 
request.post({ 
    headers: {'content-type' : 'application/x-www-form-urlencoded'}, 
    url:  'https://site.com/path/for/auth/request', 
    body: "j_username=myusername&j_password=mypassword" 
}, function(err, res, body){ 
    console.log(body); 
}); 

그러나 불행하게도 비어와 잘못을 null로 설정되어 돌아오고

이 데이터 우체부는 나 (참조) 보여줍니다.

무엇이 잘못 될 수 있습니까? 아니면이 리소스로 더 나은 인증 방법이 있습니까? 지금까지 헤더를 통해 Basic Auth에 대해 말할 수는 없습니다.

감사합니다.

답변

2

사이트에서 HTTP 302 리디렉션을 보내고있는 것으로 보입니다. 따라서 성공으로 간주됩니다. 따라서 오류는 없지만 응답 본문이 없으므로 "비어 있습니다". 응답의 statusCode와 Location 헤더를 살펴볼 수 있습니다.

+0

오우 와우 감사합니다. 이것은 절대적으로 정확합니다. 감사합니다! 그리고 내 코드에는 아무 문제가 없다는 것을 알면 좋다.) –

관련 문제