Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: Quies   (04.10.2008 в 17:22)
Ни, как не получается получить код веб страницы с помощью сокетов, зная адрес (например www.mail.ru). А потом вывести в консоль, либо сохранить в файл.
У меня Linux OpenSUSE, Kdevelop.
Использовал код этой статьи http://www.opennet.ru/docs/RUS/linux_parallel/node82.html.

Вот код что я испытывал:

#include <iostream>
#include <cstdlib>

#include <sys/types.h>
#include <sys/socket.h>

#include <stdio.h>
#include <sys/un.h>

#define ADDRESS "www.mail.ru" /* адрес для связи */ 

using namespace std;


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

  char c;

  int i, s, len;

  FILE *fp;

  struct sockaddr_un sa; 

// создаём сокет
s = socket(AF_INET, SOCK_STREAM, 0);

// проверка создания сокета
if(s < 0) {
perror("socket");
exit(1);
// конец условия

  sa.sun_family = AF_UNIX;

  strcpy (sa.sun_path, ADDRESS);

  /* пытаемся связаться с сервером: */

  len = sizeof ( sa.sun_family) + strlen ( sa.sun_path);



  if ( connect ( s, &sa, len) < 0 ){

    perror ("client: connect"); exit (1);

  }

 close (s); 


  return EXIT_SUCCESS;
}



Выдаёт ошибку: /home/quies/Develop/C++/http/src/http.cpp:74: error: cannot convert 'sockaddr_un*' to 'const sockaddr*' for argument '2' to 'int connect(int, const sockaddr*, socklen_t)'

Это только конект,. а хотелось бы получить ещё страницу. Но до этого пока не дошел.


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: