前言
前面两篇文章介绍了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
总结
通过参数输入,标准输出作为输出,整合其他系统工具,站在巨人肩膀上,减少工作量。
