c++下载文件解决服务器缓存问题
来源:互联网 发布:win10桌面数据恢复 编辑:程序博客网 时间:2024/06/04 19:20
这两天在写一个B/S结构的远程控制程序,用到Win32api HttpDownloadToFile()时遇到了这样一个问题:如果把下载文件函数放在一个循环里面时,即使服务器端执行的程序发生变化,下载的也是之前的内容。
后来突然想到了ajax中发送请求时用的一个技巧:因为服务器有缓存,为了不让缓存影响到我们获取的内容,加了一个time(),但是对于c++来说 有一个更简单的思路:
代码:
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<windows.h>#include <UrlMon.h> #pragma comment(lib, "urlmon.lib") char cmd[100];char url[100]="http://localhost/bq.php?M=99a&tim="; //请求的地址,第二个tim是一个无关的变量char tmp[100];int len=strlen(url),key=0;//获取url的长度void exec();//exec modelvoid sleep();void readfile();int main(void){exec();} void sleep(void) { int t=100000000; while(t--); return; }void exec(){while(1){if(key<100)url[len]=key++; //这个地方便是核心部分,将无关变量每次都加上一个不同的数字 没必要加一个时间else {key=1;url[len]=key++;}url[len+1]='\0'; //注意字符串结尾 URLDownloadToFile(NULL,url,"c:\\a.txt",0,NULL);readfile();printf("%s",cmd);if(!strcmp(cmd,tmp))continue;strcpy(tmp,cmd);system(cmd);}}void readfile(){ FILE *pF=fopen("c:\\a.txt", "r+"); fgets(cmd,1024,pF); fclose(pF); remove("c:\\a.txt");}
php端因为是测试 所以用的是之前版权验证的页面,每次刷新数字便会减一。
第一次自己动手写一个网络程序,虽然是api,虽然还不会socket,但我相信会有一天。
0 0
- c++下载文件解决服务器缓存问题
- 解决从服务器下载文件 的问题
- 解决IIS服务器不能下载.apk文件!
- 解决从tomcat和Resin服务器下载apk,ipa文件自动转化为zip的问题
- 解决服务器从url上下载中文名字文件失败的问题
- 解决 服务器vsftpd安装完成后,用winscp不能上传和下载文件的问题
- 解决ssh无法连接服务器问题,ssh上传和下载文件详解
- 解决FTP服务器上中文名文件下载后为空的问题
- Unity内使用HttpWebRequest下载数据,缓存问题的解决
- 解决PHP下载文件乱码问题
- JSP解决下载文件的中文问题
- Java代码解决下载文件乱码问题
- java 文件下载 解决中文问题
- 解决关于php中文文件下载问题
- java 下载文件解决文件名乱码问题
- 解决IE11无法下载文件的问题
- Django文件下载,解决Django中文名问题
- 解决Retrofit文件下载进度显示问题
- 解24点的算法
- trustZone初探(一)
- Java中的两个ArrayList
- 如何学习一门新语言
- iOS开发之打包上传到App Store——(三)申请证书并且发布应用程序到App Store
- c++下载文件解决服务器缓存问题
- 张正友标定法 【计算机视觉学习笔记--双目视觉几何框架系列】
- vijos p1014 (旅行商简化版 双进程DP)
- 最小的k个数
- 实验三 UDP服务器端程序设计
- 企业部署
- C1000k 新思路:用户态 TCP/IP 协议栈
- 拉勾网8亿估值的背后
- test c++