2015-12-19 82 views
1

我想通過node.js請求模塊在登錄表單後面獲取頁面。node.js:表單HTTP認證與請求模塊失敗

「用戶名」和「密碼」是該表單字段的名稱,'login.php?do = login'是表單操作。這樣做我沒有得到任何標題和狀態代碼,但在控制檯中只有[Error:沒有auth機制定義]消息。

var request = require('request'), 

var options = { 
    'auth' : { 
    'username':'name', 
    'password':'pass' 
}, 
url: 'http://example.com/login.php?do=login', 
headers: { 
    "User-Agent":"user-agent" 
    } 
} 

request.post(options, function(err,res,body) { 
if(err){ 
    console.log(err); 
    return; 
} 
console.log('headers :', res.headers); 
console.log('status code :', res.statusCode); 
console.log($('body').text()); 
}); 

我該如何調查?哪種方式可以被「嗅探」或類似的東西?

回答

3

請求模塊的auth選項是處理basic access authentication。很可能您嘗試加載的網頁不使用BAA,而是使用帶有發佈請求的簡單表單。用requests發送表格數據:

var options = { 
    url: '...', 
    headers: { ... }, 
    method: 'POST', 
    formData: { 
     'username':'name', 
     'password':'pass' 
    } 
} 
+0

大thanx。這樣做我得到標題和狀態碼:302我想它重定向我在我想要的地方。它的奇怪,但我沒有看到請求文檔中的formData對象。再次感謝。 – d2048

+0

你能否看到[這個問題](http://stackoverflow.com/questions/34381531/using-node-js-request-module-to-get-a-page-with-filecookiestore)。 TNX。 – d2048