afiqiqmal / parcel-track
包裹跟踪API
1.13.0
2019-10-01 08:01 UTC
Requires
- php: >=7.0
- guzzlehttp/guzzle: ^6.3
- nesbot/carbon: 1.25.*
- symfony/css-selector: ^4.0
- symfony/dom-crawler: ^4.0
Requires (Dev)
- phpunit/phpunit: ~5.7
README
本地快递包裹追踪器。基本上,它只是爬取快递网站或现有的API。在失败发生前,需要定期监控Web/API的变化。
顺便说一句,目前可用(成功抓取)
- Post Laju
- GDEX
- ABX Express
- DHL Express
- DHL E-Commerce
- SkyNet Express
- CityLink Express
- FedEx Express
- LEL Express
- KTM Distribution Sdn Bhd
- UPS
仅在PHP 7.1中测试过
安装
步骤1:从Composer安装
composer require afiqiqmal/parcel-track
或者,您可以在项目现有的composer.json文件中将其指定为依赖项
{
"require": {
"afiqiqmal/parcel-tracker": "^1.0"
}
}
使用方法
安装后,您需要要求Composer的自动加载器并添加您的代码。
require_once __DIR__ .'/../vendor/autoload.php';
Post Laju示例
$data = parcel_track() ->postLaju() ->setTrackingNumber("ER157080065MY") ->fetch();
GDex示例
$data = parcel_track() ->gdex() ->setTrackingNumber("4941410530") ->fetch();
Abx Express示例
$data = parcel_track() ->abxExpress() ->setTrackingNumber("EZP843055940197") ->fetch();
DHL Express示例
$data = parcel_track() ->dhlExpress() ->setTrackingNumber("5176011131") ->fetch();
检查哪个承运商的跟踪号码属于的示例
$data = parcel_track() ->setTrackingNumber("5176011131") ->checkCourier();
方法
结果
检查结果
对于检查以下类似的承运商响应
{ "code": 200, "error": false, "possible_carrier": [ "ABX Express Sdn Bhd", "City Link Express" ], "generated_at": "2018-05-14 08:53:35", "footer": { "developer": { "name": "Hafiq", "homepage": "https://github.com/afiqiqmal" } } }
追踪结果
您应该得到类似以下的数据追踪
{ "code": 200, "error": false, "tracker": { "tracking_number": "4941410530", "provider": "gdex", "delivered": true, "checkpoints": [ { "date": "2016-11-30 17:41:10", "timestamp": 1480527670, "process": "Outbound from KBR station", "type": "item_received", "event": "Kota Bharu" }, { "date": "2016-11-30 17:47:00", "timestamp": 1480528020, "process": "Picked up by courier", "type": "dispatch", "event": "Kota Bharu" }, { "date": "2016-12-01 03:25:11", "timestamp": 1480562711, "process": "In transit", "type": "facility_process", "event": "Petaling Jaya" }, { "date": "2016-12-01 10:00:16", "timestamp": 1480586416, "process": "Inbound to JHB station", "type": "facility_process", "event": "Johor Bharu" }, { "date": "2016-12-02 10:10:00", "timestamp": 1480673400, "process": "Delivered", "type": "delivered", "event": "Sungai Tiram" } ] }, "generated_at": "2018-05-03 02:07:20", "footer": { "source": "GD Express Sdn Bhd", "developer": { "name": "Hafiq", "homepage": "https://github.com/afiqiqmal" } } }
待办事项
- 努力获取其他包裹数据
- 如果任何包裹数据发生变化,请保持更新
问题
- 如果出现问题,如API始终在与真实站点交叉检查后返回空数组[],请告诉我 =)
Pftt.. 我不知道为什么,Travis CI失败了。这是由于`gnutls_handshake()`失败。在我的本地环境中,所有测试单元都通过了。我首先禁用了它,因为总是在travis-ci.org上失败 =)
## 更新日志 - 请参阅changelog.md
许可证
许可协议为MIT许可证