Project1
标题: 求某诡异脚本用法 [打印本页]
作者: END66RPG 时间: 2011-4-4 16:43
标题: 求某诡异脚本用法
有谁知道这个怎么用吗??- class Get_Http_Info
- AGENT = "RGSS PLAYER"
- INTERNET_OPEN_TYPE_PRECONFIG = 0
- INTERNET_OPEN_TYPE_DIRECT = 1
- def Get_Http_Info.InternetOpen()
- io = Win32API.new('wininet', 'InternetOpen', %(p, l, p, p, l), 'l')
- hInternet = io.call(AGENT, INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0)
- return hInternet
- end
- def Get_Http_Info.InternetOpenUrl(hSession, url)
- iou = Win32API.new('wininet', 'InternetOpenUrl', %(l, p, p, l, l, l), 'l')
- hService = iou.call(hSession, url, nil, 0, 0, 0)
- return hService
- end
- def Get_Http_Info.InternetReadFile(hService)
- content = ""
- read_size = 1024
- irf = Win32API.new('wininet', 'InternetReadFile', %(l, p, i, p), 'i')
- while(true)
- buf = "\0" * read_size
- red = [0].pack('L')
- irf.call( hService, buf, read_size, red )
- if(red.unpack('L') == [0])
-
- break
- end
- buf.delete!("\0")
- content += buf
- end
- return content
- end
- HTTP_QUERY_STATUS_CODE = 19
- def Get_Http_Info.HttpQueryInfo(hService)
- read_size = 1024
- buf = "\0" * read_size
- red = [read_size-1].pack('L')
- hqi = Win32API.new('wininet', 'HttpQueryInfo', %(l, l, p, p, p), 'i')
- isOk = hqi.call( hService, HTTP_QUERY_STATUS_CODE, buf, red, nil)
- buf.delete!("\0")
- return buf
- end
- def Get_Http_Info.InternetCloseHandle(hInternet)
- ich = Win32API.new('winInet', 'InternetCloseHandle', %(l), 'i')
- isOk = ich.call(hInternet)
- return isOk
- end
- HTTP_CODE_OK = "200"
- def Get_Http_Info.get_info(url)
- info = nil
- begin
- hInternet = InternetOpen()
- if(hInternet != 0)
- hService = InternetOpenUrl(hInternet, url)
- if(hService != 0)
- status_code = HttpQueryInfo(hService)
- if(status_code == HTTP_CODE_OK)
- info = InternetReadFile(hService)
- end
- InternetCloseHandle(hService)
- end
- InternetCloseHandle(hInternet)
- end
- rescue
-
- return nil
- end
- ary = []
- info.each_line do |line|
- next if line.empty?
- ary.push line
- end
- return ary[271].scan(/\w+<\/a>/)
- end
- def Get_Http_Info.get_html(url)
- info = nil
- begin
- hInternet = InternetOpen()
- if(hInternet != 0)
- hService = InternetOpenUrl(hInternet, url)
- if(hService != 0)
- status_code = HttpQueryInfo(hService)
- if(status_code == HTTP_CODE_OK)
- info = InternetReadFile(hService)
- end
- InternetCloseHandle(hService)
- end
- InternetCloseHandle(hInternet)
- end
- rescue
-
- return nil
- end
- return info
- end
- end
复制代码