Node.js 可以在CURL中获取网站,但不能在Nodejs请求中获取

Node.js 可以在CURL中获取网站,但不能在Nodejs请求中获取,node.js,web-scraping,request,request-promise,Node.js,Web Scraping,Request,Request Promise,我试图从IMDB中获取一个页面,但由于某种奇怪的原因,当我使用request promise 但如果我使用CURL,同样的查询也可以正常工作: 卷曲“ 我的nodejs代码: async function getMoviePosterImage(mediaViewerUrl) { const options = { uri: mediaViewerUrl }; try { const mediaViewerHtml = await request.get(option

我试图从IMDB中获取一个页面,但由于某种奇怪的原因,当我使用
request promise

但如果我使用CURL,同样的查询也可以正常工作:

卷曲“

我的nodejs代码:

async function getMoviePosterImage(mediaViewerUrl) {
  const options = {
    uri: mediaViewerUrl
  };
  try {
    const mediaViewerHtml = await request.get(options);

    return mediaViewerHtml;
  } catch (error) {
    console.error(error.statusCode);
  }
}

  await getMoviePosterImage(
    "https://www.imdb.com/title/tt6306064/mediaviewer/rm3146075904"
  );
到目前为止我已经尝试过的事情:

  • 设置用户代理
  • 设置保持活动
  • 启用cookie jar

在我这边,我只是在本地尝试,同样的错误也发生在我身上。这不是一个确定的答案,但我觉得IMDB可以防止网络爬虫。

你能写出你得到的错误吗?还有,你为什么不能使用request promise native?我不能真正写出整个错误代码,因为它基本上只是一个状态码为400的响应对象的大打印输出,imdb html表示请求无法理解。我没有任何理由不能使用request promise native,但我想我已经试过了,只是经常要求,但会再试一次。我只是使用请求承诺,因为它似乎一直在为我工作。与常规请求一样,IMDB 400错误html:response对象:谢谢,很高兴知道我不是唯一的一个,我想我现在就离开它。如果你回答我,我会接受你的回答:-)