- Node.js發送請求,需要用到request這個模塊
- request官網
導入
npm install request --save
import * as requestHttp from 'request';
get 請求
@Get('/xxxxx')
async getImage(@Req() request: Request, @Res() response: Response) {
const url = request.query.url;
requestHttp(url).pipe(response);
}
post 請求
post請求有3種方式,由請求頭中的content-type決定,屬於哪一種post請求
- application/x-www-form-urlencoded: 普通http請求方式,參數是普通的url參數拼接
- application/json: JSON請求方式,參數是json格式
- multipart/form-data: 文件上傳
application/x-www-form-urlencoded
requestHttp.post(url).form(request.body).pipe(response);
或者
requestHttp({
method : 'post',
uri: url,
form: request.body
})
.pipe(response)
application/json
requestHttp({
method : 'post',
uri: url,
json: true,
headers: {
"content-type": "application/json",
},
body: request.body,
})
.pipe(response);
multipart/form-data
var formData = {
// Pass a simple key-value pair
my_field: 'my_value',
// Pass data via Buffers
my_buffer: new Buffer([1, 2, 3]),
// Pass data via Streams
my_file: fs.createReadStream(__dirname + '/unicycle.jpg'),
};
request.post({url:url, formData: formData}, function (error, response, body) {
if (!error && response.statusCode == 200) {
}
})
作者:袁崢
鏈接:https://www.jianshu.com/p/a156729ce499
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。