1.通过request请求接口
首先是get请求的使用,如下:

request({url: 'address',method: 'GET'        //get大小写都可以
}, (err, res, data) => {if (err) {console.log(err)} else {const obj = JSON.parse(data);}
})

这里的回调有三个参数,第一个是错误信息,第二个是响应信息的集合,第三个是返回的信息,并且data返回的是json字符串,需要通过JSON.parse处理一下。

post请求方法根据content-type的不同又有所区别

POST application/json

request({url: 'address',method: 'POST',headers: {'content-type': 'application/json','Cookie': 'cookie'},body: JSON.stringify({ cate_id: '6809637767543259144' }),},(err, res, data) => {if (err) {console.log(err);} else {const obj = JSON.parse(data);}}
);

这里通过填写headers的信息来实现有登录权限来请求接口,需要发送的参数是放在body中,并且需要处理成JSON字符串的形式,同样返回的内容再处理一次。

POST application/x-www-form-urlencoded

request.post({url:'http://service.com/upload', form:{key:'value'}}, function(error, response, body) {if (!error && response.statusCode == 200) {}
})

POST multipart/form-data

var formData = {// Pass a simple key-value pairmy_field: 'my_value',// Pass data via Buffersmy_buffer: new Buffer([1, 2, 3]),// Pass data via Streamsmy_file: fs.createReadStream(__dirname + '/unicycle.jpg'),
};
request.post({url:'http://service.com/upload', formData: formData}, function (error, response, body) {  if (!error && response.statusCode == 200) {}
})

2.通过superagent来访问接口
之前只是用来写脚本时会用到superagent的请求一些页面,后来发现也可以通过它来请求接口,实现request同样的功能,并且用起来也是很方便的。
首先来看get请求写法,如下:

superagent.get('address').end((req, res) => {console.log(res.text)
})

还是很方便的,end方法就是请求成功之后的回调,需要注意的是它的返回值内容都是放在res.text中的。
再看post请求接口,如下:

superagent.post('address').set('Cookie','cookie').send({ key: value }).end((req, res) => {let obj = JSON.parse(res.text);});

需要带cookie请求的,可以通过set方法来种植cookie,send方法是要传递的参数,end是请求成功之后的回调。

在node中使用request模块和superagent请求接口相关推荐

  1. 网络爬虫day1:python中的request模块基本使用

    网络爬虫day1:python中的request模块基本使用 get和post的区别 python运行代码 请求头 get和post的区别 在互联网的世界中,有一个不经常提起但是经常使用的协议:TCP ...

  2. Python中通过requests模块发送POST请求.

    博客核心内容: 1.Python中通过requests模块发送POST请求. 我们通常情况下提交数据一般有两种方式:Ajax和Form表单的方式 如果request.post里面没有值,我们就到req ...

  3. Node中的Http模块和Url模块的使用

    场景 如果我们编写后端的代码时,需要Apache 或者Nginx 的HTTP 服务器, 来处理客户端的请求相应.不过对Node.js 来说,概念完全不一样了.使用Node.js 时, 我们不仅仅在实现 ...

  4. Node 中的path模块

    参考文档:https://nodejs.org/docs/latest-v13.x/api/path.html path模块中的常用API: path.basename:获取路径的文件名,默认包含扩展 ...

  5. node.js的request模块

    request模块让http请求变的更加简单.最简单的一个示例: 1: var request = require('request'); 2: 3: request('http://www.goog ...

  6. 爬虫实战学习笔记_6 网络请求request模块:基本请求方式+设置请求头+获取cookies+模拟登陆+会话请求+验证请求+上传文件+超时异常

    1 requests requests是Python中实现HTTP请求的一种方式,requests是第三方模块,该模块在实现HTTP请求时要比urlib.urllib3模块简化很多,操作更加人性化. ...

  7. node中npm安装模块的网络问题

    最近使用node开发时,发现所有的依赖模块都安装不了啦,一直报错如下 rollbackFailedOptional: verb npm-session 5a4a66a1b8d06dc3 后来才发现是由 ...

  8. Node中使用mysql模块遇到的问题

    Node的mysql模块,本人的感受就是不好用,各种报错,各种坑,有一个问题困扰了我很久,也不知道是不是我使用的方式不对,不过后来用easymysql模块解决了,我才深信这是一个坑. 问题描述: 假设 ...

  9. node中使用mysql模块的步骤

    // 终端中输入 npm i mysql , 安装mysql模块// 1. 加载mysql const mysql = require('mysql');// 2.设置连接参数,创建连接对象 cons ...

最新文章

  1. 数据变金矿:一文读懂序列模型(附用例)
  2. No package 'libpcre' found
  3. 关于深度学习的小知识点
  4. golang beego 配置
  5. virtuoso根据原理图绘制版图并联接_版图绘制及Virtuoso软件工具使用.ppt
  6. 【深度学习】高效使用Pytorch的6个技巧:为你的训练Pipeline提供强大动力
  7. k8s挂载目录_拥抱云原生,如何将开源项目用k8s部署?
  8. 946. 验证栈序列
  9. android编程多组件布局,Android把多个控件定义成一个整体的布局类使用
  10. java利用poi生成/读取excel表格
  11. 数据湖:设计更好的架构、存储、安全和数据治理
  12. SQLServer导入Excel格式数据
  13. 软件项目管理知识点总结
  14. 移植u-boot到树莓派
  15. 小程序webview嵌入h5兼容iphone安全区域
  16. 【计算机网络】TCP / IP 四层协议
  17. 旅游网站java项目模板_基于jsp的旅游网站sx-JavaEE实现旅游网站sx - java项目源码...
  18. WiFI 扫描时选择固定频率(只扫2.4G或者5G的AP)
  19. uni-app:多功能轮播图,堆叠试轮播,文本轮播,图文轮播
  20. 操作系统上机考试复习

热门文章

  1. [板子]Kruskal
  2. Vue父子组件通信和插槽
  3. MTBF=MTTF+MTTR
  4. 计算机应用中专升大专难考吗,中专考大专要多少分 职业中专考大专难不难
  5. 九.mini2440实现I2C协议裸机程序(完成)
  6. 3030 遇见 2020
  7. argmax和max函数的讨论
  8. WinPython or Anaconda?
  9. 计蒜客T1096 石头剪子布
  10. 未来网络安全十大趋势