Имя: Пароль:
1C
 
Msxml2.XMLHTTP авторизация на прокси
Ø
0 Тема777
 
04.12.06
11:50
Есть обработка которая использует Msxml2.XMLHTTP на компах которые авторизируются на прокси сервере по IP адресу все нормально работает, а где требуется логическая авторизация сооветственно нет. Вопрос собственно как авторизироваться?
1 aKomper
 
04.12.06
11:58
set xmlHttp = CreateObject("Microsoft.XMLHTTP")
call xmlhttp.open("GET", "http://www.rocc.ru/cgi-bin/sms33.cgi?Prefix=7904&phone=XXXXXX&message=server tuhnet", 0, "ИмяПрокси", "ПарольПрокси")
xmlhttp.send()
2 Тема777
 
04.12.06
12:26
Спасибо, но пока почему то не работает
А описания случайно нет?
Интересует, что обозночает в open "GET", у меня в обработке "POST"
И Режим 0, у меня 1
3 aKomper
 
04.12.06
12:41
2 - MSDN либо abrahams спасет тебя. Get и Post, если не ошибаюсь, методы отправки данных из формы на сервер, режим не помню. сей код у меня работает 100%
4 Gloom
 
04.12.06
12:55
(1)Немного не в тему (это параметры для аутентификации на веб-серваке). Объект XMLHTTP не подддерживает прокси-аутентификацию. Надо использовать либо ServerXMLHTTP версии 4.0 либо WinHttpRequest - у них есть соответствующие методы
5 aKomper
 
04.12.06
13:04
4 - хочешь на своей прокси проверить? пришлю
6 Gloom
 
04.12.06
13:06
(5)Пришлёшь чего?
7 aKomper
 
04.12.06
13:08
6 - номер телефона, на который приходит СМС с этого скрипта
8 aKomper
 
04.12.06
13:15
(+7) я про то, что в коде (1) все же имя-пароль проходят для прокси, а не для веб-сервера. Проверено не на одной проксе, иначе бы не писал
9 Gloom
 
04.12.06
13:16
(7) Не, спасибо, не надо. То, что скрипт у тебя работает, не говорит о том, что он выполняет прокси-аутентификацию.
10 aKomper
 
04.12.06
13:45
9 - сам проверял?
11 aKomper
 
04.12.06
13:52
(+10) проверь, плиз, интересно стало. МСДН счас смотрю, говорят то же, что ты в (4). Но (1) все же работает, почему?
12 Gloom
 
04.12.06
14:08
(10)Я расскажу тебе, что происходит, когда у метода open() задаются параметры bstrUser и bstrPassword.
В клиентский HTTP запрос добавляется следующий заголовок:
Authorization: Basic <тут base64(логин:пароль)>
Для прокси авторизации этого недостаточно, тут нужен другой заголовок:
Proxy-Authorization
13 aKomper
 
04.12.06
14:55
12 - не уверен, что у наших админов такая дыра в проксе, ибо на сайт из (1) не нужна авторизация юзера при входе. А без параметров входа скрипт не работает у меня :-/
14 Тема777
 
04.12.06
15:04
(12) На прокси не хочет авторизироваться
А параметры ServerXMLHTTP не сможешь дать
15 Тема777
 
04.12.06
16:00
(13) А у вас прокси какой?
16 aKomper
 
04.12.06
16:05
15 - знаю точно, что не винда :)
17 Тема777
 
04.12.06
16:12
(16) А параметры как ServerXMLHTTP пользоваться не сможешь дать?
Или какую нибудь ссылочку, гле посмотреть можно. А тоя уже сегодня весь день на эту проблему потратил
18 Gloom
 
04.12.06
16:17
(13)ХЗ почему так, но обычно XMLHTTP подхватывает параметры прокси-сервера из настроек IE.
(14)
xmlServerHttp = CreateObject( "Msxml2.ServerXMLHTTP.4.0" );
xmlServerHttp.setProxy( 2, "Your Proxy Server Name", "" );
xmlServerHttp.open( Method, URL, 0);
xmlServerHttp.setProxyCredentials( "username", "password" );
19 Gloom
 
04.12.06
16:25
+18
В принципе, можно и через Msxml2.XMLHTTP попробовать установить правильный заголовок, что-нибудь типа:
xmlHttp.setRequestHeader("Proxy-Authorization", base64("username:password"));
20 aKomper
 
04.12.06
16:30
(19) - да, грохну настройки Експлорера и посмотрю, не помню уже, чего там стояло, когда эксперименторовал со скриптом. Сомнения берут насчет галки "Сохранить пароль" - мог и поставить ее. Спасиба за мыслю )
21 Тема777
 
05.12.06
08:04
(19) Этот вариант бы подошел, только base64("username:password")у меня нет такой функции
22 aKomper
 
05.12.06
08:59
(18) - действительно, без настроек експлорера скрипт (1) не работает, ты прав с (4)
23 Тема777
 
05.12.06
09:09
(22)Так значит если поставить галочку сохранить пароль, то все будет работать?
24 Тема777
 
05.12.06
09:13
(22)Просто галочка не помогла. А как настроить експлорер чтоб работал?
25 Тема777
 
05.12.06
09:35
(22) Настройки то я вижу что читает, потому что на прокси стучится и даже работает, если установить на прокси авторизацию по IP адресу, а вот через авторизацию имя, пароль, авторизироваться не хочет, хотя я уже в эсплорере их прописал и сделал сохранить пароль
26 smaharbA
 
05.12.06
10:38
ХТТП = СоздатьОбъект(WinHttp.WinHttpRequest.5.1");
ХТТП.Open("GET", "http://microsoft.com",0);
ХТТП.SetCredentials("Усер", "Пароль",1);
ХТТП.Send();
Пока Число(ХТТП.Status)=200 Цикл
    ВвестиСтроку("Ждем...","Ждем...",10,0,1);
КонецЦикла;
Сообщить(ХТТП.ResponseText());
27 smaharbA
 
05.12.06
10:44
Ну там еще конечно так -
ХТТП = СоздатьОбъект(WinHttp.WinHttpRequest.5.1");
ХТТП.SetProxy(2,"proxy:3128","192.168.1.*");
ХТТП.Open("GET", "http://microsoft.com",0);
ХТТП.SetCredentials("Усер", "Пароль",1);
ХТТП.Send();
Пока Число(ХТТП.Status)=200 Цикл
    ВвестиСтроку("Ждем...","Ждем...",10,0,1);
КонецЦикла;
Сообщить(ХТТП.ResponseText());
28 Тема777
 
05.12.06
13:18
Пока Число(ХТТП.Status)=200 Цикл
Данные, необходимые для завершения этой операции еще не доступны.
29 Тема777
 
05.12.06
13:21
Что то мне кажется он даже к прокси обращаться перестал