2010-06-14 1 views
2

방화벽이있는 다른 서버로 마이그레이션 할 때까지 코드가 제대로 작동합니다. 이후로, 내 코드의 일부가 작동하지 않습니다. 자사의 xmlhttp POST 문제가 될 것 같습니다. 누군가가 나를 올바른 방향으로 안내하고 방화벽이 문제인지 판단 할 수 있습니까? 내 클라이언트가 클래식 ASP를 사용하도록 주장했기 때문에 .net으로 업그레이드 할 수 없습니다.클래식 ASP의 교차 도메인 XMLHttpRequest

Dim objHttp 
SUBMIT_URL = "http://www.abc.com/confirm.asp" 

Call Process() 

Public Sub Process() 

    set objHttp = Server.CreateObject("Microsoft.XMLHTTP") 

    'set the timeout values in milliseconds 
    lResolve = 1 * 1000 
    lConnect = 1 * 1000 
    lSend = 2 * 1000 
    lReceive = 2 * 1000 

    objHttp.open "POST", SUBMIT_URL, false 
    objHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded" 
    objHttp.Send str 
    if err.number <> 0 then 
    Response.Write "Error : " & err.Description 
    err.Clear 
    end if 

End Sub 
+0

오류는 무엇입니까? –

+0

방화벽 뒤에서 http 액세스에 필요한 일종의 프록시가 있습니까? –

+3

서버 측에서 Microsoft.XMLHTTP를 사용하지 말고 대신 MSXML2.ServerXMLHTTP를 사용하십시오. 또한 content-type 뒤에 "; charset = UTF-8"을 추가해야 할 수도 있습니다. @thomask와 마찬가지로 –

답변

1

나를 위해 거의 잘 작동합니다. 통화중인 방문 페이지에 리디렉션이있어 처리 할 수없는 것 같습니다. 방화벽 문제 (아마 Charles 또는 Fiddler와 같은 프록시 애플리케이션이 방화벽으로 인한 통신 문제가 있는지 확인하는 데 도움이 될 수 있지만 그렇게 생각하지는 않습니다) 인 것 같습니다. 그래서

최종 목적지 페이지를 가리려고 :

SUBMIT_URL = "http://abc.go.com/confirm.asp"

난 정말 지점에 표시되지 않습니다 여기에 게시하기 전에 코드를 삭제하지 않는 한 타임 아웃 변수.