Table of Contents
Making a Request
概括:
应用:
Advanced 提高:
知识结合
在HTTP中 有俩个module 涉及到, 一个是 HTTP 另外 一个是 HTTPs
你现在就可以在你的浏览器域名中 看到这个部分
现在大多数主流网站的module都是使用的HTTPs 因为它更附有安全性
目前,我们的Web应用程序往往与其他服务进行大量集成,无论是与Twitter等REST服务交互,还是从Flickr下载图像。使用Node / JavaScript是处理这类应用程序的最流行的语言之一。无论哪种方式,您都会发出大量的HTTP请求,这意味着您需要一个可靠的模块来使编写代码更加广泛运用
上面这段代码,会返编写 csdn.net的内容
包括HTML, JSON 等等
第一个argument在request中 可以被替换成很多不同的量, 有 <URL / Object/ String>
因此 我们会列出一个options 去包含我们所要请求的选项, 包括
url: 网站method: HTTPS 的方程(GET, POST, DELETE, etc)headers: 一个http 的 object 被设置在 区域中 const https = require('https'); const options = { hostname: 'encrypted.google.com', port: 443, path: '/', method: 'GET' };然后我们便可以查看这个 网站中的信息
如下:
const req = https.request(options, (res) => { console.log('statusCode:', res.statusCode); console.log('headers:', res.headers); res.on('data', (d) => { process.stdout.write(d); }); res.on('close', (d) => { process.stdout.write('Done!'); }); }); req.on('error', (e) => { console.error(e); }); req.end();在这 有三个event listener
function(res) 会产生当连接开始on('data') 当这里有chunk of data 的时候(filesystem 提到过)on('close')被called 当连接终止. on('end') 也有相同的结果如果结合filesystem的知识
把所有手机的data chunk 组合在一起
然后导入一个 file
例如:
var https = require("https"); var fs = require("fs"); var options = { hostname: "en.wikipedia.org", port: 443, path: "/wiki/a", method: "GET" }; var req = https.request(options, function(res) { var responseBody = ""; console.log("Response from server started."); console.log(`Server Status: ${res.statusCode} `); console.log("Response Headers: %j", res.headers); res.setEncoding("UTF-8"); res.once("data", function(chunk) { console.log(chunk); }); res.on("data", function(chunk) { console.log(`--chunk-- ${chunk.length}`); responseBody += chunk; }); res.on("end", function() { fs.writeFile("Charactera.html", responseBody, function(err) { if (err) { throw err; } console.log("File Downloaded"); }); }); }); req.on("error", function(err) { console.log(`problem with request: ${err.message}`); }); req.end();我们把 wikipedia 的 一张直接copy进入了 a.txt 文件中
然后运行这个file在浏览器中
除了图片 其他内容 都会一一呈现出来.