龙空技术网

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

键盘上的信仰 123

前言:

而今兄弟们对“c语言调用系统命令”大概比较关怀,各位老铁们都想要学习一些“c语言调用系统命令”的相关文章。那么小编也在网络上网罗了一些有关“c语言调用系统命令””的相关资讯,希望姐妹们能喜欢,兄弟们快快来学习一下吧!

前言

前面两篇文章介绍了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 ';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: ' -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
总结

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

标签: #c语言调用系统命令 #c语言调用系统命令在哪