Требуется 407 прокси-аутентификация - PullRequest
7 голосов
/ 11 мая 2010

Я получаю следующее исключение при асинхронном вызове с использованием объекта XMLHttp в Mozilla Firefox.

407 Proxy Authentication Required
The ISA Server requires authorization to fulfill the request.
Access to the Web Proxy filter is denied.

Описание причины:

На самом деле я пытаюсь сделать асинхронный запрос с использованием get в javascript. Он отлично работает с IE 6, но для IE 7 и Firefox 3.5 он не получит никаких данных, используя асинхронный запрос, так как решить эту проблему?

Когда я отлаживаю в Firefox 3.5 с помощью firebug, он показывает

407 Proxy Authentication Required The ISA Server requires authorization to fulfil the request. Access to the Web Proxy filter is denied.

исключение на консоли, так как решить эту проблему

Примечание: в нашей сети есть прокси-сервер

Ответы [ 2 ]

6 голосов
/ 11 июля 2011

Я понимаю, что немного опоздал на вечеринку здесь, и этот вопрос, однако, у меня возникла точно такая же проблема. @ FK82 указал верное решение, и я хотел документировать его, поскольку я пробовал, и оно работает.

$.ajax({
    url: "http://somefancyurl.com/api/do_it",
    data: { id:"user" },
    dataType: "jsonp",
    success: function(data) {
        console.log(data);
    }
  });

Если я не задаю jsonp , я получаю ошибку 407 Proxy Authentication Required .

  • Хотя в первоначальном вопросе не был указан JQuery, я смог успешно протестировать его с FireFox 3.6.x и IE7, используя этот подход & JSONP.
0 голосов
/ 18 мая 2010

Proxy Authentication - это просто наличие поля заголовка http с именем "Proxy-Authorization"

Браузеры должны отправлять эти вещи автоматически.

Но так как вы можете добавить какой-то пользовательский заголовок к запросам ajax, вы можете попробовать установить его вручную.

request.setRequestHeader("Proxy-Authorization", value);
  • запрос - это объект XMLHttp
  • значение - это кодированная в base64 версия username:password

Обратите внимание, что я не уверен в этом или нет, поправьте меня, если я ошибаюсь.

Или на какой-то странице, которую я нашел в Google, написано, что нужно добавить X-Requested-With, возможно, стоит попробовать это тоже.

request.setRequestHeader("X-Requested-With", "XMLHttpRequest");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...