Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Существует сайт br.so-ups.ru для аутентификации предложены два метода / 12 сообщений из 12, страница 1 из 1
29.01.2013, 10:30
    #38128363
NikolyK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Существует сайт br.so-ups.ru для аутентификации предложены два метода
Существует сайт « https://br.so-ups.ru» для аутентификации предложены два метода. Один через сертификат (с этим разобрался) другой через логин и пароль (с этим не разобрался).

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Авторизация</title>
<link href="Content/Enter/css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form name="ctl00" method="post" action="Login.aspx" id="ctl00">
<div>
<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTc3NTExNDUzNw9kFgICAQ9kFgICBA8PFgIeC1Bvc3RCYWNrVXJsBSdodHRwczovL2JyLnNvLXVwcy5ydS8vUHVibGljL0xvZ2luLmFzcHhkZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WAQUMY2JSZW1lbWJlck1ly6DR6gZrklYbA64+5wPeCj/Cl+o=" />
</div>

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['ctl00'];
if (!theForm) {
    theForm = document.ctl00;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>


<script src="/WebResource.axd?d=PBGhJ4jZAKIRhFPzg0uJku29jLXkOtZllksJ4nhbto7PSYjKQeA9LaveTvFrt8LOrTi4jcx5fE2O4cd2eUdCYgOgqfA1&t=634605654834856163" type="text/javascript"></script>


<script src="/WebResource.axd?d=yTWxgnnJSzGeBucl91RELE8yLBnrv0ql-qpCFb6jhUzPlXCFNx-nF1lGuXeUA1rAUyvf497uoZNc19VgsYq3H8wkvQU1&t=634605654834856163" type="text/javascript"></script>
<div>

	<input type="hidden" name="__PREVIOUSPAGE" id="__PREVIOUSPAGE" value="vutdWF26ggr-ITB9JGiW376SpYTdFpczgzzjeNU0ZzvYCOcxtdBVNugbNimmD8AXekR4ojsC92GmSjjLW8iiV08XSJyJc6LVVo7HDiMwVTrgnWVB0" />
	<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWBgLL+uXJAgKG87HkBgK1qbSRCwLX+PD1CQKC3IeGDAL/svmkAfkAVN2iHPxwNW1ffoY2C0wTHHZq" />
</div>
    <div id="up" title="Перейти на главную" style="cursor:pointer" onclick="goToMainPage();"></div>
    <div id="main_page">
    <h1 align="center">Авторизация на сайте</h1>
    
    <table class="table_2">
    <tr>
    <td class="td_border">

     <div id="enter">
    <table>
      <tr>
        <th>Логин</th>
        <td><input name="txtLogin" type="text" id="txtLogin" class="text" /></td>
      </tr>
      <tr>
        <th>Пароль</th>
        <td><input name="txtPassword" type="password" id="txtPassword" class="text" /></td>
      </tr>
            <tr>
        <th></th>
        <td><label><input id="cbRememberMe" type="checkbox" name="cbRememberMe" /> Запомнить меня</label></td>
      </tr>
    </table>

    <div style="text-align:center">     <input type="submit" name="btnLogin" value="Войти" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("btnLogin", "", false, "", "https://br.so-ups.ru//Public/Login.aspx", false, false))" id="btnLogin" class="button" />   </div>
    </div>

    </td>
    <td style="padding-left:25px">
    <div>
            <p align="center">
        <img src="Content/Enter/img/certificate.png" alt=""><br><br>
      <input type="submit" name="btnLoginByCert" value="Войти с сертификатом" id="btnLoginByCert" class="button_certif" />
    </p>
      </div>

    </td>
    </tr>
    </table>




    </div>
    <div id="down"></div>

    <div id="copy">
    <p>© ОАО «СО ЕЭС», 2009</p>
    <p>По всем вопросам, связанным с работой настоящего интернет-сайта Вы можете обратиться на электронный адрес <a href="#">sbr@so-cdu.ru<;/a> или по факсу (495) 627-94-32</p>
    <p>Разработано в <a href="#">RBC SOFT</a></p>
    </div>
    <script type="text/javascript">
    function enter()
    {
        document.getElementById('btnLogin').click();
    }
    function goToMainPage()
    {
        window.location = '/';
    }
    </script>
    <script type="text/javascript">
        document.execCommand("ClearAuthenticationCache");
    </script>


<script type="text/javascript">
//<![CDATA[
WebForm_AutoFocus('txtLogin');//]]>
</script>
</form>
</body>
</html>



Пытаюсь зайти через логин и пароль:

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
МасивАктив = Новый Массив;
	МасивАктив.Добавить("Msxml2.xmlHttp.6.0"); 
	МасивАктив.Добавить("Msxml2.ServerXMLHTTP.6.0"); 
	МасивАктив.Добавить("Msxml2.ServerXMLHTTP.3.0"); 
	МасивАктив.Добавить("Msxml2.ServerXMLHTTP"); 
	МасивАктив.Добавить("Microsoft.ServerXMLHTTP"); 
	МасивАктив.Добавить("Msxml2.XMLHTTP"); 
	Для каждого СтрокаМасивАктив из МасивАктив Цикл 
		Connector = Новый COMОбъект(СтрокаМасивАктив);
		Connector.open("POST", "https://br.so-ups.ru/Public/Login.aspx?ReturnUrl=%2fPublic%2fMainPage.aspx&manual=true", false);//false true);
		Connector.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
		Connector.SetRequestHeader("Accept-Charset", "Windows-1251");
		Connector.SetRequestHeader("Content-Language", "ru");
		Connector.SetRequestHeader("Content-Charset", "Windows-1251");
		Connector.SetRequestHeader("Content-Encoding", "gzip, deflate");
		Connector.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=Windows-1251");
		Connector.SetRequestHeader("CACHE_CONTROL", "no-cache");
		Connector.SetRequestHeader("CONNECTION", "Keep-Alive");
		Connector.SetRequestHeader("USER_AGENT", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)");
		Попытка   // 
			Connector.onreadystatechange = "function enter(){document.getElementById('btnLogin').click();}";
			Connector.Send("txtLogin.value="+login+"&txtPassword.value="+password);
		Исключение
			Сообщить(ОписаниеОшибки())
		КонецПопытки;
	КонецЦикла;



Далее загружается страница для аутентификации и не чего не происходит. (Должен перейти на следующею страницу).
По этому поводу у меня есть два вопроса:
1) Как заполнить txtLogin и txtPassword?
2) Как запустить function enter()?
...
Рейтинг: 0 / 0
29.01.2013, 10:55
    #38128406
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Существует сайт br.so-ups.ru для аутентификации предложены два метода
лопни мои глоза, это адинэс???


Код: vbnet
1.
2.
3.
Connector.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
...
Connector.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=Windows-1251");

типа передумал?

На самом деле кроме второй из этих строк, а так же может быть USER_AGENT, ничего не надо.

Код: vbnet
1.
Connector.onreadystatechange = "function enter(){document.getElementById('btnLogin').click();}";

Зачем эта бессмыслица? Одноэс внезапно стала браузером?

Для каждого СтрокаМасивАктив из МасивАктив Цикл Не вижу выхода из цикла. В системе может быть более одного объекта из перечисленных, запрос отправится соответствующее количество раз. Нужно использовать только MSXML2.XMLHTTP, он работает для всех версий MSXML, начиная со второй.
...
Рейтинг: 0 / 0
29.01.2013, 11:04
    #38128426
NikolyK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Существует сайт br.so-ups.ru для аутентификации предложены два метода
Antonariy,

Connector = Новый COMОбъект("Msxml2.XMLHTTP");
Connector.open("POST", " https://br.so-ups.ru/Public/Login.aspx?ReturnUrl=%2fPublic%2fMainPage.aspx&manual=true", false);
Connector.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
Connector.SetRequestHeader("USER_AGENT", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)");
Попытка //
Connector.Send("txtLogin.value="+login+"&txtPassword.value="+password);
Исключение
Сообщить(ОписаниеОшибки())
КонецПопытки;


Все равно остается два вопроса )
1) Как заполнить txtLogin и txtPassword?
2) Как запустить enter() = document.getElementById('btnLogin').click() = WebForm_DoPostBackWithOptions(...)?
...
Рейтинг: 0 / 0
29.01.2013, 11:10
    #38128439
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Существует сайт br.so-ups.ru для аутентификации предложены два метода
1) Что это значит в контексте 1с?
2) Что это значит в контексте 1с?
...
Рейтинг: 0 / 0
29.01.2013, 11:30
    #38128468
NikolyK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Существует сайт br.so-ups.ru для аутентификации предложены два метода
Надо скачивать файлы с сайта. Не могу закачивать, т.к. по прямой ссылки к файлу пишет «нет доступа», нужна аутентификация. Поэтому мне надо 1)заполнить логин, пароль и 2)включить проверку VALIDATION, для получения доступа на сайт.

Пример для входа со Сертификатом.
АдресВебСервиса = " https://br.so-ups.ru:444/Public/SSL/LoginByCert.aspx";
Connector = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
// Пробуем установить соединение
Connector.Open("GET", АдресВебСервиса, Ложь);//GET
Connector.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
Connector.SetRequestHeader("USER_AGENT", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)");
Connector.SetClientCertificate(ИмяСертификата);
Connector.SetAutoLogonPolicy(0);
Connector.Send();

Пример для входа на другой сайт.
Connector = Новый COMОбъект("Msxml2.xmlHttp.6.0");
// Строка авторизации
AuthString = "j_usercode="+login+"&j_username="+login+"&j_password="+password+"&j_region="+Рег+"&action=login";

// Пробуем установить соединение
Connector.Open("POST", " https://www.aaa.ru/auth", 0, login, password);
Connector.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
Connector.SetRequestHeader("Content-Length", СтрДлина(AuthString));
Connector.setRequestHeader("If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 UTC");
Connector.Send(AuthString);
...
Рейтинг: 0 / 0
29.01.2013, 11:34
    #38128474
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Существует сайт br.so-ups.ru для аутентификации предложены два метода
Каким образом этот текст отвечает на мои вопросы?
...
Рейтинг: 0 / 0
29.01.2013, 11:37
    #38128477
NikolyK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Существует сайт br.so-ups.ru для аутентификации предложены два метода
Connector = Новый COMОбъект("InternetExplorer.Application");
Connector.Visible = 1;
Connector.navigate (" https://br.so-ups.ru/Public/Login.aspx?ReturnUrl=%2fPublic%2fMainPage.aspx&manual=true");

Пока (Connector.readyState<4) или (Connector.Busy=-1) Цикл
Состояние("Идет загрузка");
КонецЦикла;

Connector.Document.getElementById("txtLogin").value = login;
Connector.Document.getElementById("txtPassword").value = password;

Connector.document.getElementById("btnLogin").click();

Пока (Connector.readyState<4) или (Connector.Busy=-1) Цикл
Состояние("Идет загрузка");
КонецЦикла;

Так работает аутентификация, но я не могу найти как через InternetExplorer закачать файл (
...
Рейтинг: 0 / 0
29.01.2013, 11:41
    #38128483
NikolyK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Существует сайт br.so-ups.ru для аутентификации предложены два метода
Antonariy,

В контексте 1С это все так же как в Javaили С++. Просто я не знаю методы которые сделали бы эти действия.
1) Заполнить txtLogin и txtPassword
2) Запустить function enter()
...
Рейтинг: 0 / 0
29.01.2013, 11:45
    #38128488
NikolyK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Существует сайт br.so-ups.ru для аутентификации предложены два метода
Antonariy,

Как такового контекста 1С нет. Есть сайт я хочу разобраться как заполнять поля, запускать функции и скачивать файлы. Не важно на чем это будит написано.
...
Рейтинг: 0 / 0
29.01.2013, 12:06
    #38128522
iConst
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Существует сайт br.so-ups.ru для аутентификации предложены два метода
Antonariyлопни мои глоза, это адинэс???

...
...
Рейтинг: 0 / 0
29.01.2013, 12:39
    #38128585
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Существует сайт br.so-ups.ru для аутентификации предложены два метода
NikolyKAntonariy,

В контексте 1С это все так же как в Javaили С++. Ага. Только вне контекста браузера все по-другому чуть менее чем на половину.

NikolyKПросто я не знаю методы которые сделали бы эти действия. В том виде, в котором вы начали решать задачу, их знание бесполезно.
NikolyK1) Заполнить txtLogin и txtPassword
2) Запустить function enter()Где в 1с или найти txtLogin и txtPassword, чтобы их заполнить? С каких пор в 1с встроена браузерная DOM-модель и js?

XMLHTTP возвращает просто текст, с которым можно работать только как с текстом, а эти два пункта можно выполнить только в браузере. То есть вам нужно не XMLHTTP, а Новый COMОбъект("InternetExplorer.Application"), которой откроет IE. Его можно отправить по интересующему вас адресу, там найти эти txtLogin и txtPassword, заполнить и отправить форму, если вам нужно решение в виде "заполнить и нажать на кнопку". Если же вам надо просто выдрать с сайта ссылку на файл, то достаточно поискать ее в Connector.responseText.

Всей этой ерундой как раз в 1с занимался некто Fixin, поищите его сообщения в этом разделе.

NikolyKЕсть сайт я хочу разобраться как заполнять поля, запускать функции и скачивать файлы. Не важно на чем это будит написано.Ищите по форуму текст InternetExplorer.Application
...
Рейтинг: 0 / 0
29.01.2013, 15:24
    #38129028
NikolyK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Существует сайт br.so-ups.ru для аутентификации предложены два метода
Antonariy,

Огромное спасибо!!! ) будем искать.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Существует сайт br.so-ups.ru для аутентификации предложены два метода / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]