Как работать с CONNECT проксями?

Тема в разделе "WASM.BEGINNERS", создана пользователем _nic, 14 ноя 2009.

  1. _nic

    _nic New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2007
    Сообщения:
    372
    Проксик для э кспериментов локальный,опера по нему без проблем ходит по ссылкам типа https.Вот накидал набросок(который конечно же не работает) :
    Код (Text):
    1. #include <winsock2.h>
    2. #include <conio.h>
    3. #pragma comment(lib, "Ws2_32.lib")
    4. #pragma comment(lib, "Mswsock.lib")
    5.  
    6. int _tmain(int argc, _TCHAR* argv[])
    7. {
    8.     WSADATA wsd;
    9.     char buf[1024],dat[1024];
    10.     memset(buf,NULL,1024);
    11.     WSAStartup(MAKEWORD(2,2),&wsd);
    12.     WSASetLastError(0);
    13.     SOCKADDR_IN adr;
    14.     adr.sin_addr.s_addr=inet_addr("127.0.0.1");
    15.     adr.sin_family=AF_INET;
    16.     adr.sin_port=htons(808);
    17.     SOCKET s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
    18.     connect(s,(sockaddr*)&adr,sizeof(adr));
    19.     strcpy(dat,"CONNECT www.google.com:80 HTTP/1.1");
    20.     send(s,dat,strlen(dat),0);
    21.     //send(s,"",1,0);
    22.     printf("%d\n",recv(s,buf,1024,0));
    23.     printf("%s",buf);
    24.     closesocket(s);
    25.     printf("%d",WSAGetLastError());
    26.     getch();
    27.     WSACleanup();
    28.     return 0;
    29. }
    Где я грубо нарушил RFC?
     
  2. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Проверять возвращаемое значение не пробовал?
     
  3. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    После запроса должна идти пустая строка, а у тебя даже первая не закончена.
    Попробуй "CONNECT www.google.com:80 HTTP/1.1\r\n\r\n".