重定向请求返回400错误请求状态

时间:2015-10-26 10:39:57

标签: node.js web-scraping request

我正在使用Node的JS HTTP核心请求方法,其中包含来自此模块的一些选项:https://github.com/request/request

我希望将我网站上的预订表格中的数据发送到停车场提供商网站,然后我想从停车场预订网站上删除有关停车场费用的数据,以便在我的网站上显示。

我正在使用以下请求:

   var form = {
        'TextBox_DateFrom': '16/10/15',
        'Arrive_Time': '32400',
        'TextBox_DateTo': '22/10/15',
        'Return_Time': '64800',
        'TextBox_PromoCode': '',
        'Button1': 'Get My Quote'
    };

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


    var options = {
        followAllRedirects: true,
        maxRedirects: 20,
        hostname: 'directparking.co.uk',//'5.77.51.55:443',
        host: '5.77.51.55',
        path: '/index.php',
        port: '443',
        method: 'POST',
        headers: {
            'Content-Length': contentLength,
            'Content-Type':'application/x-www-form-urlencoded',
            'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
          }
    };

    var r = https.request(options, function(response){
        console.log('STATUS: ' + response.statusCode);
        console.log('HEADERS: ' + JSON.stringify(response.headers));
    });
    r.on('error', function(e) {
        console.log('error: ' + e);
        console.log('problem with request: ' + e.message);
    });
    r.write(formData);
    r.end();

这就是我得到的回报。我不知道为什么Get方法中有400个Bad请求错误。您可以查看以下Node Inspector的结果:

400 Bad Request print screen

1 个答案:

答案 0 :(得分:1)

我尝试自己卷曲页面(directparking.co.uk)。它需要您至少使用cookie和用户代理来卷曲它。您不会在请求或请求标头中使用任何cookie。

每个网页都有不同的最低要求要报废。有些人有很多要求,有些要求没有。