2013-02-27 5 views
0

일련의 URL 상태를 확인하기 위해 기존 ASP에서 웹 페이지를 작성하려고합니다.ServerXMLHTTP 연결 문제

Function TestSite(sURL) 

    UserAgent = "Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1)" 

    Set poster = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0") 
    poster.open "GET", sURL, false 
    poster.setRequestHeader "User-Agent",UserAgent 
    poster.send 

    If poster.status = 200 Then 
    TestSite = poster.responseText 
    Else 
    ' ## ERROR ## ' 
    TestSite = "" 
    End If 
    Set poster = Nothing 
End Function 

URL이 표준이 아닌 포트 번호가 포함와 내가 웹 브라우저에서 URL을 실행하면 모든 HTTPS (예 https://somedomain.com:4433/restofurl)

, 그들은로드되어 다음과 같이

내 코드입니다 잘하지만 위의 기능을 넣어 때 얻을 :

A connection with the server could not be established 

나는 다음과 같은 alternativ 내 기능을 확인했습니다 es : 1) 비보안 URL - 정상적으로 작동합니다. 2) 포트가 지정되지 않은 보안 URL입니다.이 URL은 정상적으로 작동합니다. 3) 포트 443을 지정하는 보안 URL입니다.이 URL은 정상적으로 동작합니다. 4) 포트 443을 지정하는 보안 URL 대상 서버 -이 잘 작동

그걸 바탕으로, 나는 내 코드가 옳다는 것을 확신 할 수 있습니다. 누구든지 추가 문제 해결을위한 제안 사항이 있습니까?

+0

[이 질문에 대한 대답] (http://stackoverflow.com/a/4368725/911083)). 또한 방화벽 설정 등을 고려하십시오. 즉, IIS에서 외부 세계로의 연결을 차단하기 위해 컴퓨터가 수행하는 모든 작업을 고려하십시오. – webaware

+0

이미이 답변을 읽고이 경우에는 적용되지 않습니다. - 어느 서버도 IIS7을 실행하고 있지 않습니다. – FrustratedWDotNet

답변

0

문제가 입증 :

당신은 당신의 서버가 (당신이 요청을 보내기 전에 오프 물론)이 코드를 추가하여 특정 인증서 문제를 무시하고, 그 값의 일부를 시도하여이를 확인하실 수 있습니다 우리 서버가 오래된 것 (Win2003을 계속 실행 중)과 관련이 있고 포트 번호보다 훨씬 비표준 인 설정이 필요합니다.

최종 솔루션은 별도의 호스팅 (최신 버전의 Windows를 실행하는 서버)에서 코드를 호스팅하는 것이 었습니다. 이상적은 아니지만, 적어도 우리는 그것을 작동 시켰습니다. (우리의 미래에도 서버 업그레이드가 있습니다. 최종 해결책이되기를 바랍니다.)

0

이것은 코드를 실행하는 서버가 요청을 보내는 서버와 동일한 인증서를 가지고 있지 않음을 의미합니다. 사용중인 브라우저에는 브라우저가 있습니다.

Const SXH_SERVER_CERT_IGNORE_UNKNOWN_CA = 256 
Const SXH_SERVER_CERT_IGNORE_WRONG_USAGE = 512 
Const SXH_SERVER_CERT_IGNORE_CERT_CN_INVALID = 4096 
Const SXH_SERVER_CERT_IGNORE_CERT_DATE_INVALID = 8192 
Const SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056 
poster.setOption 2, poster.getOption(2) - SXH_SERVER_CERT_IGNORE_CERT_DATE_INVALID 
+0

방금이 모든 것을 시도했지만 여전히 같은 오류가 발생합니다. 그래도 제안을 주셔서 감사합니다. – FrustratedWDotNet