WinSock2 https

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by t3zo, 11 Sep 2010.

  1. t3zo

    t3zo Member

    Joined:
    18 Feb 2010
    Messages:
    51
    Likes Received:
    14
    Reputations:
    5
    Собственно, отправляю данные на xxx.ru на порт 443, возращает пустой массив данных!Возьмем тот же античат!

    #define HOST "forum.antichat.ru"
    #define PORT 443
    //тут всякие функции - коннекты
    strcpy(this->send_,"GET / HTTP/1.1\r\n");
    strcat(this->send_,"User-Agent: MAZILA3.5\r\n");
    strcat(this->send_,"Host: forum.antichat.ru\r\n");
    strcat(this->send_,"Keep-Alive: 300\r\n");
    strcat(this->send_,"Connection: keep-alive\r\n");
    strcat(this->send_,"\r\n\r\n");
    send(this->sockets,this->send_,strlen(this->send_),0);
    this->recv_ = recv(this->sockets,this->recv_,sizeof(this->recv_),0);


    массив recv_ = null

    если указать в константе /
    то он не определит интернет адресс ресурса! Мучаюсь второй день, не найти ничего в гугле!
     
  2. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    [offtop]
    что за юзерагент такой MAZILA3.5 ?
    [/offtop]
     
  3. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    2 t3zo ты издеваешся чтоли???
    А где ты устанавливаешь SSL сессию? А где ты шифруешь передаваемые данные? А где ты расшифровываешь принятые данные?

    Могу тебя обрадовать, чтобы работать с SSL надо заюзать один из четырех следующих вариантов
    1) для HTTP не юзать сокеты а юзать виндовый WinInet
    2) Пересесть на Windows CE - там есть поддержка SSL сокетов. Но сам понимаешь это врядли тебе поможет
    3) Заюзать CryptApi или другой механизм вендовый для организации SSL - но поверь мне - это самый трудный и самые менее документированный путь. Там всё через жопу судя по исходниками w2k
    4) не париться а заюзать Open SSL - примеров много, кода много писать не надо. Единственно что надо - таскать SSL либы с собой
     
    #3 slesh, 11 Sep 2010
    Last edited: 11 Sep 2010