このソケットコンポーネントは、jmail を開発した会社によって作成されています。
非常に古いバージョンです。でもかなり良いですよ。いつも使っています。
比較的安定しています。以前、xmlhttp が win2003 サーバーではうまく機能しないことがわかりました。トラフィックが多い場合、IIS は簡単にクラッシュします。このコンポーネントは非常に安定しています。
paraHost =" www.downcodes.com " ' ホスト
paraPort = 80 'ポート
paraFileUrl="/test/test.htm"
Set Socket = CreateObject("Socket.TCP")
Socket.Host = paraHost & ":" & paraPort
Socket.Timeout = paraTimeout
If Err.Number <> 0 then Err.Clear
ソケットオープン
' タイムアウト エラー = 8000ffff
Socket.SendLine "GET " & paraFileUrl & " HTTP/1.0"
Socket.SendLine "HOST: " & paraHost
ソケット.SendLine ""
ソケット.SendLine ""
「200寝て」
Socket.WaitForDisconnect
Err.Number <> 0 の場合、次に
response.write Err.Number & " -- " & Err.Description
Err.Clear
それ以外
response.write HTTPResponse(Socket.Buffer, 1) ' ソケットからの出力テキスト
終了の場合
ソケット.クローズ
ソケット = なしを設定します
プライベート関数 HTTPResponse(ByVal toHTTPResponse、ByVal whatHTTPResponse)
エラー時は次へ再開
Dim HTTPResponseDelimiter
HTTPResponseDelimiter = Chr(13) & Chr(10) & Chr(13) & Chr(10)
If (InStr(1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) <> 0) then
HTTPResponse のケースを選択してください
ケース 0 のヘッダー
HTTPResponse = Mid(toHTTPResponse, 1, (InStr(1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) - 1))
ケース1「本体」
HTTPResponse = Mid(toHTTPResponse, (InStr(1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) + Len(HTTPResponseDelimiter)), (Len(toHTTPResponse) - (InStr(1, toHTTPResponse, HTTPResponseDelimiter, vbBinaryCompare) - 1)))
エンドセレクト
End If
終了関数