![]() |
Показаны 1 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- Установка и настройка (http://netadmin.ws/forum/forumdisplay.php?forumid=28)
-- GetFile From A Server CGI (C++) (http://netadmin.ws/forum/showthread.php?threadid=3857)
GetFile From A Server CGI (C++)
Мне необходимо с серва получать определенные файлы по запросу
к примеру /cgi-bin/getfile.cgi?filename и все нодо делать на си чтобы слепить в exe ну и так далее. Я использую такой код приведен ниже. Новот сталкиваюсь с такими проблемами:
1. если файлбольшой то файл не скачать из за тайм аута.
2. озможно обрывание буфера если находится сивол в строке \0
помогите пожлуйста довести до ума. Желательно с поддержкой докачки. Все надо на Си++. Заранее благодарен.
long size=fillength();
printf("Accept-Ranges: bytes;\n"); //Get Range From Manager
//printf("Content-Range: bytes; %d\n"); //size - range
printf("Content-Length: bytes; %d\n\n",size); //size
printf("Content-Disposition: attachment; filename=data.bin\n");
printf("Content-Type: application/octet-stream\n");
printf("Content-Type: application/force-download\n");
printf("Content-Type: application/download\n");//ento dlya explorera
printf("Content-Transfer-Encoding: binary\n");
int handle;
if((handle=open("c:\\filename.ext",O_RDONLY|O_BINARY))==-1)
return;
char *buffer;
buffer=new char[filelength(handle)+1];
read(handle,buffer,filelength(handle));
close(handle);
//printf("%u" ,fwrite(buffer,filelength(handle),sizeof(char),std
out));
printf("%s",buffer);
delete [] buffer;
---
__________________
WBR. Sp!ZER
| Формат времени GMT. Текущее время 10:58. | Показаны 1 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.