Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Proxy и сокеты 
:(
    Опции темы
dandy77
Дата 8.7.2009, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 18.7.2008

Репутация: нет
Всего: нет



Я пытаюсь подключиться к почтовому серверу через прокси при помощи сокетов. В результате мне recv() из этого кода возвращает HTTP/1.0 403 Forbidden. Кто знает в чем дело? Подскажите? Через броузер я проверял- этот прокси работает.

Код

SOCKET m_hSocket;
    if((m_hSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP))== INVALID_SOCKET )
        AfxMessageBox("Socket Error");

    
    int nPort=80;
    char pszHostAddress[30]="208.78.125.18";

    SOCKADDR_IN sockAddr;
    ZeroMemory(&sockAddr, sizeof(sockAddr));
    sockAddr.sin_family = AF_INET;
    sockAddr.sin_port = htons((u_short)nPort);
    sockAddr.sin_addr.s_addr = inet_addr(pszHostAddress);

    if (sockAddr.sin_addr.s_addr == INADDR_NONE)
    {
        LPHOSTENT lphost;
        lphost = gethostbyname(pszHostAddress);
        
        struct sockaddr_in adr;
        memcpy(&adr.sin_addr,lphost->h_addr_list[0],lphost->h_length); 

        sockAddr.sin_addr.s_addr = ((LPIN_ADDR)lphost->h_addr)->s_addr;
        
    }

    int tmo = 3000;
    setsockopt(m_hSocket,SOL_SOCKET,SO_RCVTIMEO,(const char*)tmo,sizeof(tmo));

    if(connect(m_hSocket, (PSOCKADDR)&sockAddr, sizeof(sockAddr))== INVALID_SOCKET )
    AfxMessageBox("Connect Error");

    

    char sBuf[256];
    int nCmdLength;
    /    sprintf(sBuf, "CONNECT 195.214.192.101:110 HEAD \/ HTTP\/1.1\r\n Host: e.ukr.net\r\n\r\n");
    nCmdLength = strlen(sBuf);

    if(send(m_hSocket, sBuf, nCmdLength, 0)== SOCKET_ERROR )
    AfxMessageBox("Send CONNECT Error!");


    char pszBuf[256];
    int nBuf=sizeof(pszBuf);

    int nData=recv(m_hSocket, pszBuf, nBuf, 0);
    if(nData==0 || nData == SOCKET_ERROR)
    {
        AfxMessageBox("Connect Recv Error");
    }
    else
    {
        pszBuf[nData]=0;
        pDlg->m_info.AddString(pszBuf);
    }

    closesocket(m_hSocket);

PM MAIL   Вверх
Alca
Дата 8.7.2009, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 1
Всего: 50



PopProxyDemo.zip

Присоединённый файл ( Кол-во скачиваний: 16 )
Присоединённый файл  PopProxyDemo.zip 6,98 Kb


--------------------
PM WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0512 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.