2个版本
0.1.1 | 2022年9月7日 |
---|---|
0.1.0 | 2020年6月6日 |
#5 in #parcel
11KB
144 行
colissimo_track
此crate允许您获取有关"Colissimo"包裹状态及其配送进度(从收件人角度)的信息。它使用网页的逆向工程私用但并不复杂的API。
crate非常简单,导出了一些struct和一个async fn get_tracking_info(shipment_id: &str) -> Result<Shipment, Error>
函数来查询配送API。
它如何工作?
- 首先使用
hyper
向https://www.laposte.fr/outils/suivre-vos-envois?code={}
发起请求。我们保留的唯一有趣部分是access-token=[...jwt...]
Set-Cookie头。 - 第二次请求,向
https://api.laposte.fr/ssu/v1/suivi-unifie/idship/{}?lang=fr_FR
,使用cookie进行。在正常情况下,服务器应该响应一个表示配送的JSON对象。 - 使用一些
serde
魔法将此对象反序列化为提供的数据结构(参见crate::model::*
)。
目标开发者/用户/项目
此crate覆盖了Colissimo用户非常狭窄的市场,即居住在法国国家公共集团"La Poste"运营包裹递送服务的地区的用户。由于此库允许从配送接收者的角度进行包裹跟踪,我找到的唯一用途是各种客户端软件,如移动应用或家庭(自动化)仪表板。
初学者免责声明
这是我第一个crate,也是我第一个“完成”的Rust项目。虽然我很乐意看到这个crate被使用(尽管非常狭窄,我承认),但在将您自己和您的项目置于潜在风险之前,请务必查看代码内部!
显然,任何反馈、评论、错误报告、贡献或任何其他可以帮助改进这个crate(代码库)&&
/||
我的Rust编程水平的内容都是100%受欢迎的。
许可证
此仓库内的代码根据MIT许可证授权。
依赖项
~8–20MB
~271K SLoC