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

Недавно обновился с 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
Не работает авторизация (MSXML2.XMLHTTP, ADODB.Stream...) под Windows 10 (EDGE)
    #39217143
NBjHCBrc6KlSObm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скорее всего дело в том, что сменилась стратегия кеширования у XMLHTTP.
Насколько я вижу, вы первым запросом делаете POST, а POST запросы по идее не должны кешироваться.
Попробуйте сначала делать GET с логином и паролем, и погуглите что там с кешированием XMLHTTP у Edge.
...
Рейтинг: 0 / 0
Не работает авторизация (MSXML2.XMLHTTP, ADODB.Stream...) под Windows 10 (EDGE)
    #39217824
Casper2002
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как оказалось, что в W7 что в W10 стоит все тот же IE 11. Но почему-то под W10 ничего не работает, а в W7 даже можно не прописывать полную строку в "oXMLHTTP.Open" с логином/паролем и все будет работать...
...
Рейтинг: 0 / 0
Не работает авторизация (MSXML2.XMLHTTP, ADODB.Stream...) под Windows 10 (EDGE)
    #39219170
Casper2002
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отвечаю сам себе. Думаю кому-то пригодится:

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

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



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



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


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