Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2009, 02:20   #1
Mainerz
Новичок
Джуниор
 
Регистрация: 15.08.2009
Сообщений: 4
По умолчанию Файл из сети

Доброе время суток
Надо скачать файл из сети и содержимое вставить в переменую, сделал так:
Код:
 struct sockaddr_in servaddr;
    struct hostent *hp;
    int sock_id;
    char message[10240*1024] = {0};
    int msglen;
    char request[3000] = "GET /main.php HTTP/1.0\n"
    "From: Mainerz\nUser-Agent: Crazy\n\n";


    if((sock_id = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
        fprintf(stderr,"Couldn't get a socket.\n"); exit(EXIT_FAILURE);
    }



    memset(&servaddr,0,sizeof(servaddr));

    if((hp = gethostbyname("site.ru")) == NULL) {
        fprintf(stderr,"Couldn't get an address.\n"); exit(EXIT_FAILURE);
    }

    memcpy((char *)&servaddr.sin_addr.s_addr, (char *)hp->h_addr, hp->h_length);

    //fill int port number and type
    servaddr.sin_port = htons(80);
    servaddr.sin_family = AF_INET;

    //make the connection
    if(connect(sock_id, (struct sockaddr *)&servaddr, sizeof(servaddr)) != 0) {
        fprintf(stderr, "Couldn't connect.\n");
    }
    write(sock_id,request,strlen(request));
    msglen = read(sock_id,message,10240*1024);
    cout << message;
Но, появлось 2 проблемы -
1. При запуске, выдает все что кидает сервер:
# ./a.out
HTTP/1.1 200 OK
Date: Fri, 14 Aug 2009 21:55:26 GMT
Server: Apache
Set-Cookie: PHPSESSID=a3563p425rgb70r4td3d5gja1 1; path=/; domain=.site.ru
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private
Pragma: no-cache
Connection: close
Content-Type: text/html; charset=windows-1251

Как это убарть ?

И второе, выдает только половину кода страницы, а втроая куда то "обрезается" ...
Mainerz вне форума Ответить с цитированием
Старый 15.08.2009, 12:31   #2
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,619
По умолчанию

Приведите весь код, пожалуйста.
И еще, я вижу вы запускаете под Linux. К тому же у вас стоит Apache, к которому коннектится ваша программа.
Если есть подключение к интернету, попробуйте законнектится к "www.google.com" на 80 порту. И отправить запрос такого типа
"GET / HTTP/1.0\nHost: www.google.com"
MaTBeu вне форума Ответить с цитированием
Старый 15.08.2009, 13:52   #3
oleg kutkov
Unix C++ developer
Форумчанин
 
Аватар для oleg kutkov
 
Регистрация: 16.04.2007
Сообщений: 651
По умолчанию

Сегодня, ближе к вечеру, выложу свою новую статью, в которой расскажу, как легко, с любой платформы, взаимодействовать с web и ftp серверами.
oleg kutkov вне форума Ответить с цитированием
Старый 15.08.2009, 21:03   #4
Mainerz
Новичок
Джуниор
 
Регистрация: 15.08.2009
Сообщений: 4
По умолчанию

Цитата:
Приведите весь код, пожалуйста.
Это и есть весь код.
Цитата:
И еще, я вижу вы запускаете под Linux. К тому же у вас стоит Apache, к которому коннектится ваша программа.
Скажем под *nix, а с чего вы взяли что у меня стоит Apache ?
Мне надо сделать чтобы программа скачивала страницу из интернета ...
Mainerz вне форума Ответить с цитированием
Старый 16.08.2009, 00:04   #5
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,619
По умолчанию

Цитата:
А с чего вы взяли, что у меня стоит Apache?
ну наверное из этого
Цитата:
# ./a.out
HTTP/1.1 200 OK
Date: Fri, 14 Aug 2009 21:55:26 GMT
Server: Apache
Set-Cookie: PHPSESSID=a3563p425rgb70r4td3d5gja1 1; path=/; domain=.site.ru
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private
Pragma: no-cache
Connection: close
Content-Type: text/html; charset=windows-1251
MaTBeu вне форума Ответить с цитированием
Старый 16.08.2009, 00:32   #6
Mainerz
Новичок
Джуниор
 
Регистрация: 15.08.2009
Сообщений: 4
По умолчанию

C чего вы взяли, что у меня стоит Apache?
Mainerz вне форума Ответить с цитированием
Старый 16.08.2009, 00:35   #7
oleg kutkov
Unix C++ developer
Форумчанин
 
Аватар для oleg kutkov
 
Регистрация: 16.04.2007
Сообщений: 651
По умолчанию

http://programmersforum.ru/showthread.php?t=60338
oleg kutkov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открыть файл на другом компе по сети DennerV Работа с сетью в Delphi 7 13.08.2011 15:19
Добавит картинку в файл без сохранения в файл Pacan4ik Microsoft Office Excel 3 30.07.2009 13:19
Ссылка на файл из текущей папки! Сбор инфы в один файл! mephist Microsoft Office Excel 11 10.07.2009 13:51
Дан файл, содержащий текст на русском языке.Составить в алфавитном порядке список слов в файл. JiLiYa Паскаль, Turbo Pascal, PascalABC.NET 3 26.12.2008 12:05
Как переслать файл по сети через DCOM Hollander Общие вопросы C/C++ 6 23.05.2007 22:32