Еще раз про CInternetSession и прокси
От: maykmod  
Дата: 26.09.06 04:33
Оценка:
Исправлено форматирование текста. — SchweinDeBurg

У меня следующая проблема:
В моей программе есть функция, которая скачивает файлы из интернета. Код работал без проблем на протяжении многих лет, пока на пути не поставили прокси (адрес-192.168.0.2; порт-8080). Пришлось доработать код для выхода через прокси, попробовал 2 варианта, но не заработал не один.

1 вариант- Настройки прокси берем из реестра:

CInternetSession session(NULL,1, INTERNET_OPEN_TYPE_PRECONFIG)

2 вариант- Настройки прокси задаем явно:

CInternetSession session(NULL,1, INTERNET_OPEN_TYPE_PROXY,”192.168.0.2:8080”,NULL,0)
session.SetOption(INTERNET_OPTION_USERNAME, (LPVOID)((LPCTSTR)m_szUser), m_szUser.GetLength() + 1);
session.SetOption(INTERNET_OPTION_PASSWORD, (LPVOID)((LPCTSTR)m_szPassw), m_szPassw.GetLength() + 1);

После того, как программа доходит до выполнения:

CFtpConnection *cp=session.GetFtpConnection(host,login,passwd);

Происходит задержка ~15сек, после чего срабатывает CInternetException с сообщением — время ожидания истекло.

Пробовал скачивать файлы программой TotalComander (Настройки: 192.168.0.2; порт-8080; <SOCKS5>), все работает нормально.

Подскажите, в чем может быть проблема? За ранее благодарю за любую помощь.
Re: Еще раз про CInternetSession и прокси
От: LuciferMoscow Россия  
Дата: 26.09.06 06:09
Оценка:
<skipped>
Прокся с паролем?
Re[2]: Еще раз про CInternetSession и прокси
От: maykmod  
Дата: 26.09.06 06:57
Оценка:
Исправлено форматирование текста. — SchweinDeBurg

Здравствуйте, LuciferMoscow, Вы писали:

LM><skipped>

LM>Прокся с паролем?

Да, с паролем.

Пользователь = m_szUser;

session.SetOption(INTERNET_OPTION_USERNAME, (LPVOID)((LPCTSTR)m_szUser), m_szUser.GetLength() + 1);

Пользователь = m_szPassw;

session.SetOption(INTERNET_OPTION_PASSWORD, (LPVOID)((LPCTSTR)m_szPassw), m_szPassw.GetLength() + 1);
[от модератора]
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 26.09.06 07:04
Оценка:
Убедительная просьба — использовать коды форматирования при вставке текстов программ.

P.S.
Оформляем сообщения красиво
Автор: anvaka
Дата: 15.05.06
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
Re[3]: Еще раз про CInternetSession и прокси
От: LuciferMoscow Россия  
Дата: 26.09.06 07:08
Оценка:
Здравствуйте, maykmod, Вы писали:

LM>>Прокся с паролем?

M>Да, с паролем.
M>Пользователь = m_szUser;
M>
M>session.SetOption(INTERNET_OPTION_USERNAME, (LPVOID)((LPCTSTR)m_szUser), m_szUser.GetLength() + 1);
M>

M>Пользователь = m_szPassw;
M>
M>session.SetOption(INTERNET_OPTION_PASSWORD, (LPVOID)((LPCTSTR)m_szPassw), m_szPassw.GetLength() + 1);
M>

Ох, давненько я этим делом занимался. Я писал на голых вин апи. Последовательность действий была такая(если с паямтью все нормально)
1. OpenRequest
2. Получение статуса соединения
3. Если статус "прокся меня не пускает", то InternetSetOption, иначе goto 5
4. Повторный вызов OpenRequest
5. ....
Re: Еще раз про CInternetSession и прокси
От: febus Германия  
Дата: 26.09.06 07:29
Оценка:
Здравствуйте, maykmod

здесь
Автор: febus
Дата: 11.09.06
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.