Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не работает авторизация (MSXML2.XMLHTTP, ADODB.Stream...) под Windows 10 (EDGE) / 5 сообщений из 5, страница 1 из 1
15.04.2016, 12:21
    #39216500
Casper2002
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает авторизация (MSXML2.XMLHTTP, ADODB.Stream...) под Windows 10 (EDGE)
Доброе время суток,

Недавно обновился с Windows 7 на Windows 10. И теперь перестал подхватываться авторизация.

Следующий код открывает IE и вводит логин и пароль. (Работает нормально и под W7 и W10)
Код: vbnet
1.
2.
3.
4.
5.
Set ie = ConnectServer_PRODIGY    ' авторизуемся на сервере
ie.Visible = True
Set IEdoc = ie.Document    ' получаем ссылку на документ
While ie.Busy Or (ie.ReadyState <> 4): DoEvents: Wend
ie.Quit: Set ie = Nothing



Далее, так как логин и пароль был только что введен то W7 для себя где-то его каширует и последующий код работает нормально, а под W10 отрабатывает какбудто я не смог авторизоваться:

Код: vbnet
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.
Start_time = Now
s_login = "*********"
s_password = "*********"
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0")

'подключение
oXMLHTTP.Open "POST", "https://PRODIGY.COM/show", False, s_login, s_password

s_st = Format(Text_DR_from.Value, "DD-MM-YYYY")
s_en = Format(Text_DR_to.Value, "DD-MM-YYYY")


s_param = "submit_select=1&msg_status=delivered&st=" + s_st + "&en=" + s_en + "&date_order=0&web_users=1&deleted=0&orderBy=4&orderDesc=0&page=1"
oXMLHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
'oXMLHTTP.setRequestHeader "Authorization", "Basic " + Base64Encode(s_login + ":" + s_password)


'получение файла
oXMLHTTP.Send s_param
'Debug.Print oXMLHTTP.responsetext
Set oADOStream = CreateObject("ADODB.Stream")
oADOStream.Mode = 3 'разрешение на чтение и запись
oADOStream.Type = 1 'тип данных - Binary
oADOStream.Open
oADOStream.Write oXMLHTTP.responseBody
'сохранение (с перезаписью файла при необходимости)

MyPath = CurrentProject.Path + "\!IMPORTED_DATA\04PRODIGY\"
MyName = "bulk_list.csv"

oADOStream.SaveToFile MyPath & MyName, 2
...
Рейтинг: 0 / 0
16.04.2016, 14:41
    #39217143
NBjHCBrc6KlSObm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает авторизация (MSXML2.XMLHTTP, ADODB.Stream...) под Windows 10 (EDGE)
Скорее всего дело в том, что сменилась стратегия кеширования у XMLHTTP.
Насколько я вижу, вы первым запросом делаете POST, а POST запросы по идее не должны кешироваться.
Попробуйте сначала делать GET с логином и паролем, и погуглите что там с кешированием XMLHTTP у Edge.
...
Рейтинг: 0 / 0
18.04.2016, 10:04
    #39217824
Casper2002
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает авторизация (MSXML2.XMLHTTP, ADODB.Stream...) под Windows 10 (EDGE)
Как оказалось, что в W7 что в W10 стоит все тот же IE 11. Но почему-то под W10 ничего не работает, а в W7 даже можно не прописывать полную строку в "oXMLHTTP.Open" с логином/паролем и все будет работать...
...
Рейтинг: 0 / 0
19.04.2016, 14:17
    #39219170
Casper2002
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает авторизация (MSXML2.XMLHTTP, ADODB.Stream...) под Windows 10 (EDGE)
Отвечаю сам себе. Думаю кому-то пригодится:

Заработало когда убрал кодировку в Base64 логина и пароля.

Вместо:
Код: vbnet
1.
oXMLHTTP.setRequestHeader "Authorization", "Basic " + Base64Encode(s_login + ":" + s_password)



Написал
Код: vbnet
1.
oXMLHTTP.setRequestHeader "Authorization", "Basic " + s_login + ":" + s_password



Теперь все работает и не нужно через браузер авторизироваться. Тему можно закрывать.
...
Рейтинг: 0 / 0
21.04.2016, 10:10
    #39220889
Casper2002
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает авторизация (MSXML2.XMLHTTP, ADODB.Stream...) под Windows 10 (EDGE)
Наконец-то заставил старый код работать под Windows 10! После снятия галочки в IE11 (Internet Options->Security->Enable Protected Mode) все нормально заработало. Как не странно но в Windows 7 данная опция не влияет на работу кода.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не работает авторизация (MSXML2.XMLHTTP, ADODB.Stream...) под Windows 10 (EDGE) / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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