运行结果截图:
讲下代码大致思路:
注意两个函数二选一用
#include <stdio.h> #include <string.h> FILE *fp1; char str[] = "_ud=nc; bu=A; bid_fp=AE184oc;bulain=AEnfoc; CURRNVAL=80";//浏览器网页cookie复制到此处 char *tmp;//用于判断是否读取完str void to_json()//将网页cookie转为普通的json格式 { fprintf(fp1,"{\""); fprintf(fp1,"%s",strtok(str,"=")); fprintf(fp1,"\":\""); fprintf(fp1,"%s",strtok(NULL,";")); fprintf(fp1,"\""); while(tmp = strtok(NULL,"=")){ fprintf(fp1,",\""); fprintf(fp1,"%s",tmp); fprintf(fp1,"\":\""); fprintf(fp1,"%s",strtok(NULL,";")); fprintf(fp1,"\""); } fprintf(fp1,"}"); } void to_webdriver_dict()//将网页cookie转为python的webdriver.add_cookie()参数所需格式(字典) { fprintf(fp1,"{\"name\":\""); fprintf(fp1,"%s",strtok(str,"=")); fprintf(fp1,"\",\"value\":"); fprintf(fp1,"%s",strtok(NULL,";")); fprintf(fp1,"\"}"); while(tmp = strtok(NULL,"=")){ fprintf(fp1,",{\"name\":\""); fprintf(fp1,"%s",tmp); fprintf(fp1,"\",\"value\":"); fprintf(fp1,"%s",strtok(NULL,";")); fprintf(fp1,"\"}"); } } main() { fp1 = fopen("D:\\cookie_json.txt","w+");//创建新文件,用于存储结果 char *s = NULL; int filesize = 0; // to_json();//将网页cookie转为普通的json格式 to_webdriver_dict();//将网页cookie转为python的webdriver.add_cookie()参数所需格式(字典) //下面这段代码实现了读取文件的所有内容(也是常用到的一个技能点) fseek(fp1,0,2);//将文件指针移动到文件末尾 filesize = ftell(fp1);//通过ftell函数获得指针到文件头的偏移字节数。 s=(char *)malloc(filesize+1);//动态分配str内存 rewind(fp1);//将文件指针移动到文件头 fread(s,filesize,1,fp1);//读取所有文件内容存储到s中 s[filesize] = '\0';//字符串变量结束符别忘了 printf("%s",s);//输出结果到控制台,可直接复制 printf("\n\n~~~~~~~~~~~~~~~~~~~~~~~~~please copy~~~~~~~~~~~~~~~~~~~~~~~~~\n"); fclose(fp1); return 0; }
有疑问留下评论,当日必回。
感谢阅读~~~