|
0 / 0 / 0
Регистрация: 28.05.2012
Сообщений: 3
|
||||||
Приложение, использующее HttpWebRequest для доступа к файам .png на удалённом сервере через прокси28.05.2012, 14:45. Показов 3190. Ответов 2
Метки нет (Все метки)
Добрый день.
Пробую написать приложение, использующее HttpWebRequest для доступа к файам .png на удалённом сервере с установленным там IIS и NTLM аутентификацией. Составляю простенький GET-запрос вида: GET http://servername/webservice/1.png HTTP/1.1 следующим образом:
1) на GetResponse() появляется Exception либо "Удаленный сервер возвратил ошибку: (401) Несанкционированный."; 2) реже, на этой же строке, "Сервер нарушил протокол"; 3) работает без ошибок. Если включать proxy (req.Proxy = Prox;), то вариант один - "Удаленный сервер возвратил ошибку: (401) Несанкционированный.". Причём это безобразие происходит при подключении к серверу с рабочего места. Из дома всё работает хорошо. Хотелось бы разобраться, как достучаться до ресурса, защищённого NTLM, используя прокси? Сделал программку на Delphi (Indy), реализующую этот же процесс - всё прекрасно работает. Сравнил в сниффере заголовки - разница в том, что в варианте на Delphi можно отсослать на proxy заголовок "Connection: Keep-Alive" (IdHTTP1.Request.Connection := 'keep-alive';), а в варианте на C#, похоже, некоторые заголовки дописываются автоматически и задать их явно никак нельзя:( И в этом случае отсылается "Proxy-Connection: Keep-Alive". Строка кода req.Headers.Add(HttpRequestHeader.KeepAl ive, "true"); добавлет заголовк "Keep-Alive: true", но ситуацию это не меняет. Запутал наверно) Просто много всего просмотрел, эта проблема встречается, но решение найти не смог. Есть ли у кого-нибудь идеи?
0
|
||||||
| 28.05.2012, 14:45 | |
|
Ответы с готовыми решениями:
2
Создание доступа к общему каталогу находящегося на удаленном сервере Запрос HttpWebRequest через прокси HttpWebRequest через прокси socks4 |
|
0 / 0 / 0
Регистрация: 28.05.2012
Сообщений: 3
|
|
| 29.05.2012, 23:41 [ТС] | |
|
Хм. Похоже, что дело не в Keep-Alive. В обоих случаях - и в варианте Delphi, и в .NET - у меня существует keep-alive соединение, тем более, что в HTTP/1.1 оно таковым является по умолчанию. Нашёл интересное объяснение того, почему может давать сбой HttpWebRequest:
http://ferozedaud.blogspot.com... -with.html Возможно, проблема в том, что какая-либо из сторон может не поддерживать 128-битное шифрование. Установил параметр "Требовать 128-битное шифрование" и на стороне сервера, и на клиентском компьютере. Результат тот же - без прокси работает нормально, с прокси - ошибка 401. Проверил сниффером - Negotiate Seal and Negotiate Sign установлены в 1. Возможно, что из-за этого прокси и не может передать параметры аутентификации на сервер. Вопрос: как программно отключить "Negotiate Seal" и "Negotiate Sign"? Нашел в msdn "contextOptions": http://msdn.microsoft.com/en-u... tions.aspx Но как это применить, используя HttpWebRequest?
0
|
|
|
0 / 0 / 0
Регистрация: 28.05.2012
Сообщений: 3
|
|
| 04.06.2012, 16:26 [ТС] | |
|
Вопрос ещё актуален.
0
|
|
| 04.06.2012, 16:26 | |
|
Помогаю со студенческими работами здесь
3
Как запустить клиентское приложение на удаленном сервере? Как запустить приложение с GUI на удаленном сервере? Post запрос HttpWebRequest через прокси socks5 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|