3

我正在尝试废弃这个网站https://www.erobertparker.com/entrance.aspx它需要身份验证 我正在使用请求模块来获得这样的身份验证,

 request({
        url:"https://www.erobertparker.com/login.aspx",
        method:"POST",
        form:{UNENTRY:"username",PWENTRY:"password"}
    },
    function(error,response,body){
 })

但我无法通过身份验证我做错了什么有人可以指导我我是网络抓取世界的新手:)。

4

2 回答 2

1

它使用了一个 asp.net 会话 cookie。您可能需要将所有 cookie 存储在一个 jar 中,然后在下一个请求时将它们发回。

于 2013-07-20T21:13:17.590 回答
0

嗨,我在请求中使用 jar 参数解决了这个问题:

var j = request.jar();
    var request = request.defaults({ jar : j }) //it will make the session default for every request
    //...
    request({
        url:"https://www.erobertparker.com/login.aspx",
        method:"POST",
        form:{UNENTRY:"username",PWENTRY:"password"}
    },
    function(error,response,body){
        //Do your logic here or even another request like
        request({
            url:"<ANOTHER LINK>",
            method:"GET",
        }, function(error, response, body){
            //Some logic
        });
    });

您还可以查看请求模块的文档: https ://github.com/request/request#examples

于 2015-07-16T17:56:01.080 回答