Перейти к содержанию

Can't download file. HTTP


Гость

Рекомендуемые сообщения

Text programm.Download file from any HTTP server.

Mogu skachat file tolko s UNIX & LINUX serverov. Chto nugno ismenit, chtoby ka4alo s windows serverov???

saranee spasibo.

#include

#include

#include

#include

#include

#include

#include

#define SIZE 2048*100

int main(int argc, char *argv[])

{

int sd;

char *host = "www.nord-ost.net";

struct sockaddr_in sa;

struct hostent *hptr;

if ((sd = socket(PF_INET, SOCK_STREAM, 0)) < 0)

{

perror("open_socket_httpd");

return -1;

}

sa.sin_family = AF_INET;

sa.sin_port = htons(80);

if ((hptr = gethostbyname(host)) == NULL)

{

perror("gethostbyname");

return -1;

}

// copy the IP address of host into sa

memcpy ((char*)&sa.sin_addr.s_addr, (char*)hptr->h_addr, hptr->h_length);

printf("Trying to contact %s...\n", host);

if (connect(sd, (struct sockaddr *)&sa, sizeof(sa)) < 0)

{

close(sd);

perror("connect");

return -1;

}

char request[] = "GET /test.html HTTP/1.1\n\n";

write(sd, request, sizeof(request));

char buf;

int no;

printf("Waiting for a response\n");

while ((no = read(sd, buf, SIZE)) > 0)

write(1, buf, no);

close(sd);

return 0;

}

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...