http.get获取数据
const http=require('http')
const options={
hostname: 'm.maoyan.com',
port: 80,
path: '/ajax/movieOnInfoList',
method: 'get',
headers:{
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Referer': 'http://m.maoyan.com/',
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
'X-Requested-With': 'XMLHttpRequest'
}
}
http.get(options, (res) => {
const { statusCode } = res;
const contentType = res.headers['content-type'];
let error;
if (statusCode !== 200) {
error = new Error('请求失败\n' +
`状态码: ${statusCode}`);
} else if (!/^application\/json/.test(contentType)) {
error = new Error('无效的 content-type.\n' +
`期望的是 application/json 但接收到的是 ${contentType}`);
}
if (error) {
console.error(error.message);
// 消费响应数据来释放内存。
res.resume();//如果有错误,重新提交
return;
}
//这里是数据判断结束
res.setEncoding('utf8');
let rawData = '';
res.on('data', (chunk) => { rawData += chunk; });//请求得到的数据分片连续的传输
res.on('end', () => {//数据传输结束
try {
const parsedData = JSON.parse(rawData);//对获得的数据转成对象格式
parsedData.movieList.map(item=>{
console.log(item.nm)
})
;
} catch (e) {
console.error(e.message);
}
});
}).on('error', (e) => {
console.error(`出现错误: ${e.message}`);
});