Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2014, 17:13   #1
SeerRus
 
Регистрация: 01.07.2013
Сообщений: 8
По умолчанию C++ Builder - использование TIdConnectThroughHttpProxy для http-прокси в TIdTCPClient: ошибка "403 forbidden"

Передо мной стоит задача подключаться к указанному серверу на порт 6100 через TIdTCPClient с использованием http-прокси. Для этого использовал TIdConnectThroughHttpProxy. Но при Connect() выдает ошибку "403 forbidden"

Код:
    m_pClient = new TIdTCPClient( NULL );
 
    m_pClient->Host = m_sServerAddress.c_str();
    m_pClient->Port = StrToInt( m_sServerPort.c_str() );
    m_pClient->ConnectTimeout = 5000;
    m_pClient->ReadTimeout = 5000;
 
    if ( m_bUseProxy == true )
    {
        m_pIdIOHandlerStack = new TIdIOHandlerStack( NULL );
 
        m_pIdIOHandlerStack->TransparentProxy = new TIdConnectThroughHttpProxy( m_pIdIOHandlerStack );
        m_pIdIOHandlerStack->TransparentProxy->Host = m_sProxyHost;
        m_pIdIOHandlerStack->TransparentProxy->Port = m_iProxyPort;
        m_pIdIOHandlerStack->TransparentProxy->Enabled = True;
 
        m_pClient->IOHandler = m_pIdIOHandlerStack;
    }
    else
    {
        m_pClient->IOHandler = NULL;
    }
 
    <other code>
 
    m_pClient->Connect();
прокси: 5.196.0.118::3128
Использовал его для серфинга через Google Chrome, работает нормально. К серверу программа без использования прокси тоже подключается нормально. А при использовании - выдает вышеуказанную ошибку.
Как это исправить? Может этот компонент не подходит, или где-то в коде ошибка?

Добавлено:

по совету на другом форуме добавил пару строк, вроде заработало

[CPP]
m_pIdIOHandlerStack->TransparentProxy->Username = "user";
m_pIdIOHandlerStack->TransparentProxy->Password = "123";
[/CPP]

И надо учитывать нестабильность таких прокси, а также тип "HTTP+HTTPS"

Последний раз редактировалось SeerRus; 23.12.2014 в 12:57. Причина: добавлено
SeerRus вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Synapse 403 Forbidden WhiteForge Работа с сетью в Delphi 3 25.10.2012 18:24
Ошибка "Expecting a valid name" для оператора "<" в JScript Ратибор Редоран JavaScript, Ajax 0 15.12.2011 14:38
HTTP/1.1 403 Forbidden TwiX Работа с сетью в Delphi 2 18.02.2010 23:18
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06