Cкачивание файла с заданного URL в C++ под Linux

Тема в разделе "Свободное общение", создана пользователем Kenterell, 6 дек 2004.

Статус темы:
Закрыта.
  1. Kenterell

    Kenterell Гость

    Репутация:
    0
    У меня возникла проблемма.
    Нужна библиотека под C++, способная скачивать файлы по заданному адресу в Linux. Так как с программированием в интернете работаю чуть ли не в первый раз - понятия не имею как это сделать...
    Подскажите как, или где посмотреть как это реализовано?
     
  2. Guest

    Guest Гость

    Репутация:
    0
    Дык, смотреть исходники wget.
     
  3. Guest

    Guest Гость

    Репутация:
    0
    Esli mojesh - kin' v menya ssilkoy na ishodnik wget...
    Sama programma, ka 4erniy yashik ne sovsem menya ustraivaet... na to est' pri4ini, no ishodnik ya b posmotrel...
     
  4. Guest

    Guest Гость

    Репутация:
    0
    Spasibo......
    Ishodniki ya nashel...... razbirayus'.........
     
  5. Guest

    Guest Гость

    Репутация:
    0
    Guest
    расскажи потом как и что было :huh: OK????
     
  6. Guest

    Guest Гость

    Репутация:
    0
    Emmmm........ ya potom viloju to, 4to ne predstavlaet kommer4eskoy tayni.... :huh:
     
  7. Kenterell

    Kenterell Гость

    Репутация:
    0
    Voobshem... jdite ishodnikov...
     
  8. Dr.Gigabit

    Dr.Gigabit Гость

    Репутация:
    0
    Cокеты не катят?
     
  9. Kenterell

    Kenterell Гость

    Репутация:
    0
    katyat... tolko nujno nemnogo konkretnee...
     
  10. Kenterell

    Kenterell Гость

    Репутация:
    0
    Neyasno po4emu on ne vidit class sockaddr_in...
    Class "sockadd" sushestvuet, a "sockaddr_in" po ego slovam- net....

    On rugaetsa ra stroku:
    Код (Text):
    s truct sockaddr_in serv_addr;
     
  11. Dr.Gigabit

    Dr.Gigabit Гость

    Репутация:
    0
    Вот это должно работать:

    Код (Text):
    /*
    -----------------------------------------------------------
      MakeConnection

      Function allocates a socket and estabishes a connection
      with remote host. Default port number 80.

      Input : WWW server name (with port number, if it is not 80)
      Output : file descriptor on success
                  -1 on error

    -----------------------------------------------------------
    */
    int MakeConnection(unsigned char* ServerName){
      int s;
      struct sockaddr_in ssin;
      struct hostent* hp;
      int PortNum;
      unsigned char strHlp[STRNGLEN], *pch;

      /* use default port number - 80 or specific number from the
        server name */
      strcpy(strHlp,ServerName);
      pch = strchr(strHlp,':');
      if(pch==NULL){
        PortNum = 80;
      }else{
        pch[0] = '\0';
        pch++;
        PortNum = atoi(pch);
        if(PortNum==0){
          PortNum = 80;
        }
      }

      /* get host by name - resolve host name into IP address */
      if( (hp=gethostbyname(strHlp)) == NULL  )
      {
        return -1;
      }

      bzero(&ssin, sizeof(ssin));
      bcopy(hp->h_addr, &ssin.sin_addr, hp->h_length);
      ssin.sin_family = hp->h_addrtype;
      ssin.sin_port = htons(PortNum);

      /* allocate a socket */
      if((s=socket(AF_INET, SOCK_STREAM, 0))==-1)
      {
        return -1;
      }

      /* make a connection */
      if(connect(s, &ssin, sizeof(ssin), 0)==-1){

        return -1;
      }

      return s; /* socket descriptor */
    }
     
  12. Kenterell

    Kenterell Гость

    Репутация:
    0
    Spasibo. Etu stadiyu ya uzhe proshel. ;)
    Teper' drugoy vopros - prodoljenie etogo je: kak polu4it' avtorizaciyu proxy v socket? Mne nujno, 4tobi programma ispol'zovala takoy metod. ;)
    Zaranee spasibo vsem ;)
     
  13. Dr.Gigabit

    Dr.Gigabit Гость

    Репутация:
    0
  14. Dico

    Dico Гость

    Репутация:
    0
    Посмотри исходник ISQ под linux, в той части где идёт соединение через прокс ? либо в исходниках Lynx-а.
     
  15. Kenterell

    Kenterell Гость

    Репутация:
    0
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей