小白常犯-细节解析:nodejs使用https请求baidu.com 返回302错误

问题:使用nodejs的http模块请求baidu.com,返回302错误,如下图

vscode: nodejs

const https = require('https')

const option = {
    hostname: 'baidu.com',
    port: 443,
    path: '/',
    method: 'GET',
}

const req = https.request(option, res => {
  res.on('data', d => {
      process.stdout.write(d)
  })
})

req.on('error', error => {
  console.error(error)
})

req.end()

 

原因:请求baidu.com的时候需要带www

改正后的nodejs代码

const https = require('https')

const option = {
    hostname: 'www.baidu.com',
    port: 443,
    path: '/',
    method: 'GET',
}

const req = https.request(option, res => {
  res.on('data', d => {
      process.stdout.write(d)
  })
})

req.on('error', error => {
  console.error(error)
})

req.end()

改正后的返回结果

小疑问:我们平常在使用chrome浏览器的时候,只需要输入baidu.com即可正常访问百度

其实这只是chrome自动补全了百度的网址,我们双击地址栏就可以看到全部的网址

猜你喜欢

转载自blog.csdn.net/Gragon_Shao/article/details/112642086