ノードjsリクエストを使用して、次のURLからHTMLを取得していますが、ボディが空に戻ります。精密検査でノードjsリクエスト - 応答の空のボディ
var request = require("request");
var url = 'http://www.topshop.com/en/tsuk/product/bags-accessories-1702216/scarves-465/feather-wings-5884878?bi=0&ps=20';
request({
uri: url
}, function (error, response, body) {
console.log(body);
if (response.statusCode != '200') {
console.log('fail');
console.log(response.statusCode + ' # ' + error);
} else {
console.log(response.statusCode);
console.log('############');
console.log(response);
}
});
私は応答でこれを見ることができます:私は仮定
_header: 'GET /webapp/wcs/stores/servlet/CatalogNavigationSearchResultCmd?langId=-1&storeId=12556&catalogId=33057&beginIndex=1&viewAllFlag=false&pageSize=20&searchTermScope=3&searchTermOperator=LIKE&searchType=ALL&sort_field=Relevance&searchTerm=TS19M11KRED&x=25&y=11&geoip=search HTTP/1.1\r\nreferer: http://www.topshop.com/en/tsuk/product/bags-accessories-1702216/scarves-465/feather-wings-5884878?bi=0&ps=20&geoip=prod\r\nhost: www.topshop.com\r\nConnection: close\r\n\r\n',
_headers:
{ referer: 'http://www.topshop.com/en/tsuk/product/bags-accessories-1702216/scarves-465/feather-wings-5884878?bi=0&ps=20&geoip=prod',
host: 'www.topshop.com' },
は、リダイレクトがあったことを意味しますか?たとえ302リダイレクトの代わりに200 OKを返したとしても。
リダイレクトから本文を取得する最善の方法がわからないのですか?ヘッダーのURLに別のリクエストを行う必要がありますか?しかし、このコードではレスポンスコードが200ではなく302であるべきですか?
助けてください。
ユーザーエージェントに渡すと修正されました。どうもありがとう。 –