Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > get image


Автор: quasi 1.6.2008, 05:50
Подскажите, почему не качается само изображение?
Код

char buffer [BUFSIZ] = "GET /logo/logo.gif HTTP/1.1\r\nConnection: Close\r\nUser-Agent: Mozilla/5.0 (Unix)\r\nHost: H\r\nAccept: image/gif \r\n\r\n";
char buffer2 [BUFSIZ];
//BUFSIZ
//write(socket_fd, buffer, strlen(buffer));
write(socket_fd, buffer, BUFSIZ);
read(socket_fd, buffer2);
printf("%s\r\n Size: %d\n");
FILE * pFile;
  pFile = fopen ("out.gif","w");
  if (pFile!=NULL)
  {
    fflush (pFile);
    fputs (buffer2,pFile);
    fclose (pFile);
}

вот какой ответ я получаю...
Код

# ./get_http
HTTP/1.1 404 Not Found
Date: Sun, 01 Jun 2008 02:44:59 GMT
Server: Apache/2.2.3 (Debian)
Content-Length: 277
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /logo/logo.gif was not found on this server.</p>
<hr>
<address>Apache/2.2.3 (Debian) Server at h Port 80</address>
</body></html>

 Size: 8192

Автор: chipset 1.6.2008, 06:39
А файл logo/logo.gif есть? smile

Автор: quasi 1.6.2008, 08:32
Хм, странно, а почему такой define мог не срабоатть? И как лучше сделать тут?
Код

#define H forum.vingrad.ru
char buffer [] = "GET /style_images/1/logo4.gif HTTP/1.1\r\nConnection: Close\r\nUser-Agent: Mozilla/5.0 (Unix)\r\nHost: H\r\nAccept: image/gif \r\n\r\n";

А тут толькотак срабатывет
Код

#define H "forum.vingrad.ru"
hostent = gethostbyname(H);

Автор: phprus 3.6.2008, 16:07
quasi
А почему он должен был сработать? макросы не заменяются внутри строк, по этому можно сделать так:
Код

#define H forum.vingrad.ru
char buffer [] = "GET /style_images/1/logo4.gif HTTP/1.1\r\nConnection: Close\r\nUser-Agent: Mozilla/5.0 (Unix)\r\nHost: "H"\r\nAccept: image/gif \r\n\r\n";

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)