0

一連の URL のステータスを確認するために、従来の ASP で Web ページを作成しようとしています。

私のコードは次のとおりです。

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 はすべて HTTPS で、非標準のポート番号が含まれています (例: https://somedomain.com:4433/restofurl )

Web ブラウザーで URL を実行すると、問題なく読み込まれますが、上記の関数を使用すると、次のようになります。

A connection with the server could not be established

私は次の代替手段で機能をチェックしました: 1) 非セキュア URL - これは正常に動作します 2) ポートが指定されていないセキュア URL - これは正常に動作します 3) ポート 443 を指定するセキュア URL - これは正常に動作します 4) セキュア URLターゲット サーバーのポート 443 を指定する URL - これは正常に動作します

それに基づいて、私のコードが正しいと確信しています。さらにトラブルシューティングを行うための提案はありますか?

4

2 に答える 2

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
于 2013-02-28T15:03:46.997 に答える