HTTP
Server 程式範例
const http = require('http');
http.createServer(function (request, response){
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(3000);
console.log('Server running on port 3000.');Request 程式範例
const http = require("http");
const iconv = require("iconv-lite");
const querystring = require("querystring");
const requestBody = {
PG2: " 6 ",
PgNo: 6,
s: 0,
};
const postData = querystring.stringify(requestBody);
const options = {
hostname: "lotto.bestshop.com.tw",
path: "/649/where.asp",
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
"Content-Length": Buffer.byteLength(postData),
},
};
// 因為是要存 buffer 必須用 array
const result = [];
const req = http.request(options, (res) => {
console.log(`STATUS: ${res.statusCode}`);
console.log(`HEADERS: ${JSON.stringify(res.headers)}`);
res.on("data", (chunk) => {
result.push(chunk);
});
res.on("end", () => {
const resp = iconv.decode(Buffer.concat(result), "big5");
console.log(resp);
console.log("No more data in response.");
});
});
req.on("error", (e) => {
console.error(`problem with request: ${e.message}`);
});
req.write(postData);
req.end();純 Node.js 接收 POST request
包含路由與讀取Body
因為 POST request 會先有一個 options 請求,所以要先回覆
寫檔案Request與讀檔案Server
靜態Server
#取得remote ip
寫一個Proxy Server
發送Requst記得加上Header content type
Last updated