Express结合聚合数据获取快递信息

37 篇文章 0 订阅
3 篇文章 0 订阅

Express结合聚合数据获取快递信息

今天在项目中遇到获取物流信息的需求,于是查阅了快递100,快递鸟,聚合数据的文档,从零开始获取物流信息,这里主要介绍聚合数据

在前端界面的的开发中直接将其提供的API与测试地址使用Ajax进行请求,结果,毫无疑问的报错,跨域请求被拦截,报 500 的错。所以需要服务器中转一下,

聚合数据提供的请求地址:http://v.juhe.cn/exp/index

参数;key=你的key&com=公司名称&no=订单编号

这里写图片描述

查询这个接口支持的快递公司的com步骤:

第一步:
这里写图片描述

第二步

这里写图片描述

第三步

这里写图片描述

这样就获取到了。

聚合数据首次注册提供免费的100次使用。

用express搭建可以转发http请求的服务器

全局安装express-generator

$ npm install express-generator -g

创建一个命名为express的应用-安装依赖—开启服务器。

$ express Express
$ cd Express
$ npm install
$ npm start

这样一个应用的骨架 就搭建好了,

但是要处理http请求还需要安装一个包;

npm install request --save

修改routes下的index.js

var express = require('express');
var router = express.Router();
var request = require("request");

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('aaa', { title: 'Express' });

  request("http://v.juhe.cn/exp/index?key=51d27c76a89af4ce142aeea7fbaf8260&com=jd&no=73663098707",function (err,req,body) {
      if(!err && req.statusCode == 200){
        console.log(body)
          console.log(2)
      }
  })
});

module.exports = router;

request还可以发送post请求

request({
        url: url,
        method: "POST",
        json: true,
        headers: {
            "content-type": "application/json",
        },
        body: data
    }, function(error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body) // 请求成功的处理逻辑
        }

涉及到跨域的时候需要对express进行配置

//设置跨域访问
app.all('*', function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
    res.header("X-Powered-By",' 3.2.1');
    res.header("Content-Type", "application/json;charset=utf-8");
    next();
});
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 Express 获取数据,您可以使用中间件来解析请求体并从中提取数据Express 提供了许多中间件来处理不同类型的请求体数据,例如 JSON、表单数据和多部分数据等。以下是一些获取请求体数据的常用方法: 1. 使用 body-parser 中间件:body-parser 是一个流行的 Express 中间件,可以将请求体解析为 JSON、urlencoded 和多部分数据等格式。要使用 body-parser,您需要在 Express 应用程序中引入它并将其添加为中间件。 ``` const express = require('express'); const bodyParser = require('body-parser'); const app = express(); // 添加 body-parser 中间件 app.use(bodyParser.json()); // 解析 JSON 格式的请求体 app.use(bodyParser.urlencoded({ extended: true })); // 解析 urlencoded 格式的请求体 ``` 然后,您可以使用 req.body 来获取请求体中的数据。 ``` app.post('/users', (req, res) => { const { name, email, password } = req.body; // 处理请求体中的数据 }); ``` 2. 使用 multer 中间件:如果您需要处理多部分数据,例如上传文件,可以使用 multer 中间件。Multer 可以将请求体解析为 FormData 格式的数据,并将文件保存到磁盘上。要使用 multer,您需要在 Express 应用程序中引入它并将其添加为中间件。 ``` const express = require('express'); const multer = require('multer'); const app = express(); // 添加 multer 中间件 const upload = multer({ dest: 'uploads/' }); // 将文件保存到 uploads 目录下 app.use(upload.single('file')); // 处理单个文件上传 app.post('/files', (req, res) => { const { file } = req; // 处理上传的文件 }); ``` 在上面的示例中,我们使用 upload.single() 方法来处理单个文件上传。该方法会将上传的文件保存到指定的目录下,并将文件信息存储在 req.file 对象中。您可以使用 req.file 来获取上传的文件信息。 这些是 Express获取请求体数据的常用方法。您可以根据需要选择最合适的方法来解析请求体并从中提取数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值