Re: Послать HTTP реквест через проксю
От: Logrus Россия  
Дата: 23.11.05 09:56
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Очень нужно реализовать HTTP запрос (через POST) на один веб-сервак и достать с него страницу. Но у меня доступ инет через прокси на 8080 порту, на которой нужно авторизоваться. Подскажите плиз, как это делается?


Если ты хочешь достать траницу, то лучше это делать через GET

А через проксю пролезть можну двумя способами:
1. Конфигуришь свой инет (через желаемую проксю) стандартным образом из Internet Explorer'a. Затем перед вызовом HttpSendRequest указываешь свой логин и пароль примерно так
    InternetSetOption( hHTTPFile, INTERNET_OPTION_PROXY_USERNAME, szUser, strlen(szUser) );
    InternetSetOption( hHTTPFile, INTERNET_OPTION_PROXY_PASSWORD, szPassword, strlen(szPassword) );

и погнали... у тебя все должно получиться.

2. Сам настраиваешь доступ через прокси сервер при установке соединения
   gAccessType = INTERNET_OPEN_TYPE_PROXY;

   hSession = InternetOpen( sClientInfo, 
                            gAccessType, 
                            pProxyList,    // прокси лист
                            pProxyExclude, // лист прокси исключений
                            gOpenFlags );


По указателю pProxyList ты должен указать список доступных прокси серверов, а в pProxyExclude укажешь список адресов, которые считать локальными и через проксю не маршрутизировать.
Если у тебя два прокси сервера HTTP и FTP, то прокси лист будет выглятеть примерно так (должен закончиться нулем), "http=http://10.10.10.10:8080 ftp=ftp://10.10.10.20:21" А если сервер только один и HTTP, то можешь просто написать "10.10.10.10:8080"

По указателю pProxyExclude можешь написать "<local>", и тоды весь твой локальный трафик мимо денег

Детали глянь в инете или в MSDN.
Удачи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.