|
NTLM в HTTPСоединение |
☑ |
0
Odin-s
02.12.11
✎
16:04
|
Добрый день!
Кому-нибудь удавалось, используя NTLM-авторизацию, получать с сервера файлы (например)?
С сервера на Sharepoint 2007 не хочет брать (отваливается после получения статуса 401, не пытаясь провести ntlm-авторизацию).
|
|
1
oleg_km
02.12.11
✎
17:47
|
По-моему, не реализовано. Зато на прокси, даже когда не нужно лепит NTLM-авторизацию (если не задавать пользователя и пароль прокси-сервера). Поэтому не использую встроенный HTTP. Попробуй WinHTTP. По-моему гораздо лучше. Только что к Windows привязан
|
|
2
Odin-s
02.12.11
✎
19:34
|
(1) Спасибо, попробую.
Да, из саппорта 1С ответили, что ntlm реализована только для прокси.
|
|
3
Odin-s
07.12.11
✎
16:30
|
Вроде бы получилось через WinHTTP, установив SetAutoLogonPolicy(0).
Осталось понять, как сохранить полученный объект IStream в файл.
|
|
4
Odin-s
07.12.11
✎
17:08
|
Оказалось проще сохранить COMSafeArray из свойства ResposeBody.
Финальный код
HTTP = New COMObject("WinHttp.WinHttpRequest.5.1");
HTTP.Open("GET", "http://[fileurl]", False);
HTTP.SetAutoLogonPolicy(0);
HTTP.Send();
If HTTP.Status = 200 Then
Stream = New COMObject("ADODB.Stream");
Stream.Type = 1;
Stream.Open();
Stream.Write(HTTP.ResponseBody);
Stream.SaveToFile([filename]);
Stream.Close();
EndIf;
|
|
5
oleg_km
07.12.11
✎
17:20
|
Ну примерно так, еще он умеет SSL с обоюдной авторизацией. И в целом более юзабельный. Не зря в БП 2.0 взаимодействие с Интернетом 1С сделала на своей ВК, а не на встроенном объекте
|
|