[英]Add parameters to HTTP POST request in Node.JS
我知道使用 Node.js 發送簡單 HTTP 請求的方法如下:
var http = require('http');
var options = {
host: 'example.com',
port: 80,
path: '/foo.html'
};
http.get(options, function(resp){
resp.on('data', function(chunk){
//do something with chunk
});
}).on("error", function(e){
console.log("Got error: " + e.message);
});
我想知道如何在POST
請求的正文中嵌入參數以及如何從接收器模塊中捕獲它們。
您介意使用請求庫嗎? 發送帖子請求變得如此簡單
var options = {
url: 'https://someurl.com',
'method': 'POST',
'body': {"key":"val"}
};
request(options,function(error,response,body){
//do what you want with this callback functon
});
請求庫在request.post
方法中也有一個用於發布的快捷方式,您可以在其中傳遞URL來進行發布請求,並發送數據到該URL。
根據評論進行編輯
要“捕獲”發布請求,最好使用某種框架。 由於快遞是最受歡迎的快遞,我將舉例說明快遞。 如果您不熟悉Express,建議您閱讀作者本人的入門指南 。
您需要做的就是創建一個發布路由,回調函數將包含發布到該URL的數據。
app.post('/name-of-route',function(req,res){
console.log(req.body);
//req.body contains the post data that you posted to the url
});
如果你想使用原生的http
模塊,參數可以這樣包含在 body 中:
var http = require('follow-redirects').http;
var fs = require('fs');
var options = {
'method': 'POST',
'hostname': 'example.com',
'path': '/foo.html',
'headers': {
},
'maxRedirects': 20
};
var req = http.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"examplekey\"\r\n\r\nexamplevalue\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--";
req.setHeader('content-type', 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW');
req.write(postData);
req.end();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.