ASP
ASPが出力するHTMLを取得する方法がわからず、URLから取得する方法を検討中です。
- IEコンポーネント
- かな〜り重いです。しかもHTMLの中身が加工されているような...
- BASP21のソケット通信
- 本命だと思っているのですが、BASP21をインストールするとセキュリティの確保が面倒なので...
- その他
- Microsoft.XMLHTTPで強引にとってこれるみたいです。(厳密にはXMLになるのかな)
- 自動でUnicodeに変換されるので、FSOでUnicodeファイルに保存すると簡単に変換できるみたい。
- 関数にするとこんな感じです。エラー処理は手抜き<ぉぃ
| Function GetHtml(ByVal strURL)
Dim objXmlHttp, objFSO, objTextFile
Dim strHtml, strTmpFileName
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP")
strTmpFileName = objFSO.GetSpecialFolder(2) & "\" & objFSO.GetTempName
strHtml = ""
On Error Resume Next
objXmlHttp.Open "GET", strURL, False
objXmlHttp.Send
If Err.Number = 0 Then strHtml = objXmlHttp.responseBody
On Error GoTo 0
If Len(strHtml) > 0 Then
On Error Resume Next
Set objTextFile = objFSO.CreateTextFile(strTmpFileName, True, True)
objTextFile.Write strHtml
objTextFile.Close
On Error GoTo 0
On Error Resume Next
Set objTextFile = objFSO.OpenTextFile(strTmpFileName, 1, False, 0)
If Err.Number = 0 Then strHtml = Mid(objTextFile.ReadAll(), 3)
objTextFile.Close
objFSO.DeleteFile strTmpFileName
On Error GoTo 0
Set objTextFile = Nothing
End If
Set objFSO = Nothing
Set objXmlHttp = Nothing
GetHtml = strHtml
End Function
|
<code>タグの存在に今日気づきました。フォントを決めうちより良いかも。