Мы используем Flash-загрузчик в нашем приложении ASP.NET, который отлично подходит для большинства наших клиентов. Однако для некоторых с настройкой прокси-сервера в своей организации загрузка сбой прерывается, что приводит к сбою. Изучив проблему, я обнаружил, что это связано с запросом «407 Authentication Required», инициированным прокси-сервером. Когда мы попытались переключить весь сайт под управлением HTTPS, эта проблема, похоже, решена, но это начало некоторых других 500 ошибок во всех приложениях. В качестве временного исправления я включил HTTPS только для компонента загрузки, покидающего сайт, работающий под HTTP. Это, похоже, сейчас решает проблему.Запрос на загрузку Flash-запроса с помощью HTTPS на ошибке 407
Но поскольку я с нетерпением жду постоянного исправления, я думаю об обработке исключения прокси (407) в своем Flash-коде и попытаюсь переиздать его с помощью HTTPS-вызова (не уверен, разрешено ли это, хотя). Когда я пытался обработать HTTPStatusEvent, я получил правильное исключение с помощью скрипта, но никаких дальнейших запросов не возникает, хотя я принудительно загружаю запрос через HTTPS. Вы можете найти пример кода, ниже которого я делаю (ActionScript Flex 3)
_file.addEventListener(HTTPStatusEvent.HTTP_STATUS ,OnHttpError);
private function OnHttpError(event:HTTPStatusEvent):void{ if (event.status==407){ Upload(true); } else{ HandleExceptions("Http Error: ",event.status,""); } this.dispatchEvent(event); } public function Upload(enableHttps:Boolean=false):void{ _uploading = true; _bytesUploaded = 0;
var uploadURLTemp:String = _uploadUrl;
if(enableHttps==true){
uploadURLTemp = uploadURLTemp.replace("http://","https://");
}
_file.upload(new URLRequest(uploadURLTemp));
}
Объект _file является объектом FileReference и _uploadURL является загрузка обработчика URL на сервере. Я не уверен, разрешено ли мне это делать или есть лучший способ справиться с этим.
Любые мысли или идеи больш были бы оценены
С уважением
Шерин
Спасибо за это. Но моя проблема заключается не в том, что я не могу связаться с сервером через HTTPS. Я могу сделать это без каких-либо проблем (если _uploadUrl устанавливается с https при загрузке страницы). У меня проблема: я установил _uploadUrl в HTTP-протокол и попытаюсь переиздать в HTTPS автоматически, когда произойдет исключение 407. В этом случае он просто ничего не делает. (Просто сдается). Надеюсь, теперь ясно – user1721640