読者です 読者をやめる 読者になる 読者になる

クラシックASPで簡単なWeb APIを叩いてみる

ASP

BASP21で無理やりやってみましたw ふつーはASP.NETに移行するよねww
#まぁ、お仕事ですから > クラシックASP

'
'	BASP21のw3getメソッドを使って指定されたURLのデータを取得して返す
'
function GetUrlData(url)
	Dim cFso, cFile
	Set cFso = Server.CreateObject("Scripting.FileSystemObject")

	Dim sDir, sPath
	sDir = Server.MapPath(Request.ServerVariables("URL"))
	sDir = Left(sDir, InStrRev(sDir, "\")) & "Downloads"
	If Not cFso.FolderExists(sDir) Then cFso.CreateFolder(sDir)
	sPath = sDir & "\" & cFso.GetTempName

	Dim w3getOptions, path
	w3getOptions = "-p 192.168.1.100:8080" 'Your HTTP-Proxy Server HERE

	Dim basp21
	Set basp21 = Server.CreateObject("basp21")
	basp21.W3get(w3getOptions & " -o " & sPath & " " & url)

	Const ForReading = 1
	Set cFile = cFso.OpenTextFile(sPath, ForReading)

	Dim value
	value = cFile.ReadAll()
	cFile.Close()
	cFso.DeleteFile(sPath)	

	Set cFile = Nothing
	Set cFso = Nothing

	GetUrlData = value
end function

Response.Write GetUrlData("http://www.some-site.com/api/some-service.cgi?p=12345678")

その後、上司にMSXML2.XMLHTTPを使えばいいんじゃない?と指摘されました。
もう、実装しちゃった後でしたが確かにそうです・・・orz
MSXML2.XMLHTTPの参考ページは例えばWeb ページをダウンロードする方法〜 MSXML 編〜とかです。

#作り直すのが面倒&納期が迫っているのでこのまま行きます。(^^;