优秀的编程知识分享平台

网站首页 > 技术文章 正文

返璞归真系列-c语言快速入门/应用之快递查询

nanyue 2024-07-18 03:44:52 技术文章 10 ℃

前言

前面两篇文章介绍了c语言本身基本知识

返璞归真系列-c语言快速入门/命令行调试gdb

返璞归真系列-c语言快速入门

本文章使用c开发一个简单的应用软件,也可以成为小工具,圆通快递查询,15分钟就可以把编程语言引用到我们生活当中,有兴趣的读者可以扩展成支持各个快递公司的查询;

调用的网站接口 快递100

知识点

C语言的输入输出
c语言调用系统命令行工
使用的系统工具有 
 curl:http请求工具
 jq: json 格式化工具

安装软件

 sudo apt install curl jq

编辑源码文件 learn_kd.c

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char * argv[]){
/* 805727592944923982 */
 char num[100]; //存储单号的变量
 if(argc < 2){
 printf("请输入快递单号,如:(805727592944923982):\n");
 scanf("%s", num);
 }else{
 strcpy(num, argv[1]);
 }
 printf("快递单号为:%s\n", num);
 char cmd[1000]; //存储命令的变量
 sprintf(cmd, "curl 'http://www.kuaidi100.com/query?type=yuantong&postid=%s&temp=0.719680171720616&phone=' -H 'Cookie: WWWID=WWWA93DAF1677F5F0F90BAE201D84527977; Hm_lvt_22ea01af58ba2be0fec7c11b25e88e6c=1557208283; Hm_lpvt_22ea01af58ba2be0fec7c11b25e88e6c=1557208283' -H 'Accept-Encoding: gzip, deflate, sdch' -H 'Accept-Language: zh,en-US;q=0.8,en;q=0.6' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'Referer: http://www.kuaidi100.com/' -H 'X-Requested-With: XMLHttpRequest' -H 'Connection: keep-alive' --compressed | jq .", num);
 printf("命令行:\n%s", cmd);
 system(cmd);
 return 0;
}

编译并运行文件

gcc test_kd.c -o kd && ./kd 805727592944923982

总结

通过参数输入,标准输出作为输出,整合其他系统工具,站在巨人肩膀上,减少工作量。

Tags:

最近发表
标签列表