凰玲 發表於 2020-9-9 17:15:00

Node.js之request模块 发送请求

<ul>
<li>Node.js发送请求,需要用到request这个模块</li>
<li>request官网</li>
</ul>
<p>导入</p>
<div class="cnblogs_code">
<pre>npm install request --save</pre>
<div>&nbsp; import * as requestHttp from 'request';</div>
</div>
<p>&nbsp;</p>
<p>get 请求</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">@Get('/xxxxx')
async getImage(@Req() request: Request, @Res() response: Response) {
    const url = request.query.url;
    requestHttp(url).pipe(response);
}</span></pre>
</div>
<p>post 请求</p>
<div>
<div>post请求有3种方式,由请求头中的content-type决定,属于哪一种post请求
<ul>
<li>application/x-www-form-urlencoded: 普通http请求方式,参数是普通的url参数拼接</li>
<li>application/json: JSON请求方式,参数是json格式</li>
<li>multipart/form-data: 文件上传</li>
</ul>
</div>
</div>
<div>
<h3>application/x-www-form-urlencoded</h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"> requestHttp.post(url).form(request.body).pipe(response);
  或者    <br> requestHttp({
      method : 'post',
      uri: url,
      form: request.body
})
.pipe(response)</span></pre>
</div>
<p>&nbsp;</p>
</div>
<div>
<h3>application/json</h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">    requestHttp({
      method : 'post',
      uri: url,
      json: true,
      headers: {
          "content-type": "application/json",
      },
      body: request.body,
    })
    .pipe(response);</span></pre>
</div>
<h3>multipart/form-data</h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">var formData = {
    // Pass a simple key-value pair
    my_field: 'my_value',
    // Pass data via Buffers
    my_buffer: new Buffer(),
    // Pass data via Streams
    my_file: fs.createReadStream(__dirname + '/unicycle.jpg'),
};
request.post({url:url, formData: formData}, function (error, response, body) {
    if (!error &amp;&amp; response.statusCode == 200) {
    }
})</span></pre>
</div>
</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div><br>作者:袁峥<br>链接:https://www.jianshu.com/p/a156729ce499<br>来源:简书<br>著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。</div>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/jcz1206/p/13640039.html
頁: [1]
查看完整版本: Node.js之request模块 发送请求