2015-01-12 3 views
0

Итак, у меня есть следующий код, который я хочу использовать для загрузки изображений и их сохранения.Classic ASP - ServerXMLHTTP NT Authentication

<% 
function SaveFileFromUrl(Url, FileName) 
    dim objXMLHTTP, objADOStream, objFSO 

    Set objXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP.3.0") 

    objXMLHTTP.open "GET", Url, false 
    objXMLHTTP.send() 

    If objXMLHTTP.Status = 200 OR objXMLHTTP.Status = 304 Then 
     Set objADOStream = CreateObject("ADODB.Stream") 
     objADOStream.Open 
     objADOStream.Type = 1 'adTypeBinary 

     objADOStream.Write objXMLHTTP.ResponseBody 
     objADOStream.Position = 0 'Set the stream position to the start 

     Set objFSO = Createobject("Scripting.FileSystemObject") 
     If objFSO.Fileexists(FileName) Then objFSO.DeleteFile FileName 
     Set objFSO = Nothing 

     objADOStream.SaveToFile FileName 
     objADOStream.Close 
     Set objADOStream = Nothing 

     SaveFileFromUrl = objXMLHTTP.getResponseHeader("Content-Type") 
    else 
     SaveFileFromUrl = "" 
    End if 
    response.write objXMLHTTP.Status 
    Set objXMLHTTP = Nothing 
end function 
%> 

Когда я запускаю это на изображениях из Интернета, он отлично работает. Однако, пытаясь использовать его на изображениях интрасети, которым нужна аутентификация NT, я получаю ошибку 401 с помощью response.write objXMLHTTP.Status

Так что мой довольно очевидный вопрос: как мне это сделать в сценарии без снятия NT-аутентификации?

ОДНАКО

Это также может быть связано с тем, что изображения не имеют расширение. Они находятся в форме http://domain/thumbs/image1, а не http://domain/thumbs/image1.png

В любом случае, я не могу заставить его работать!

Благодаря

ответ