设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1632|回复: 3
打印 上一主题 下一主题

[已经过期] 比较难的问题吧,有信心看得懂的高人来看看

[复制链接]

Lv2.观梦者

梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
帖子
607

开拓者

跳转到指定楼层
1
发表于 2010-9-10 20:51:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
嗯,看了脚本不晕再继续。
  1. class Get_Http_Info
  2.   
  3.   AGENT = "RGSS PLAYER"
  4.   INTERNET_OPEN_TYPE_PRECONFIG = 0 # IEの設定を仕様
  5.   INTERNET_OPEN_TYPE_DIRECT    = 1 # プロキシを使用しない
  6.   def Get_Http_Info.InternetOpen()
  7.     io = Win32API.new('wininet', 'InternetOpen', %(p, l, p, p, l), 'l')
  8.     hInternet = io.call(AGENT, INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0)
  9.     return hInternet
  10.   end

  11.   def Get_Http_Info.InternetOpenUrl(hSession, url)
  12.     iou = Win32API.new('wininet', 'InternetOpenUrl', %(l, p, p, l, l, l), 'l')
  13.     hService = iou.call(hSession, url, nil, 0, 0, 0)
  14.     return hService
  15.   end

  16.   def Get_Http_Info.InternetReadFile(hService)
  17.     content = ""
  18.     read_size = 1024 # 一次读入文件的尺寸
  19.     irf = Win32API.new('wininet', 'InternetReadFile', %(l, p, i, p), 'i')
  20.     while(true)
  21.       buf = "\0" * read_size
  22.       red = [0].pack('L')
  23.       irf.call( hService, buf, read_size, red )
  24.       if(red.unpack('L') == [0])
  25.         #读到文件末端
  26.         break
  27.       end
  28.       buf.delete!("\0")
  29.       content += buf
  30.     end

  31.     return content
  32.   end

  33.   HTTP_QUERY_STATUS_CODE = 19
  34.   
  35.   def Get_Http_Info.HttpQueryInfo(hService)
  36.     read_size = 1024
  37.     buf = "\0" * read_size
  38.     red = [read_size-1].pack('L')
  39.     hqi = Win32API.new('wininet', 'HttpQueryInfo', %(l, l, p, p, p), 'i')
  40.     isOk = hqi.call( hService, HTTP_QUERY_STATUS_CODE, buf, red, nil)
  41.     buf.delete!("\0")
  42.     return buf
  43.   end

  44.   def Get_Http_Info.InternetCloseHandle(hInternet)
  45.     ich = Win32API.new('winInet', 'InternetCloseHandle', %(l), 'i')
  46.     isOk = ich.call(hInternet)
  47.     return isOk
  48.   end

  49.   HTTP_CODE_OK = "200"
  50.    
  51.   def Get_Http_Info.get_info(url)
  52.     info = nil
  53.     begin
  54.       hInternet = InternetOpen()
  55.       if(hInternet != 0)
  56.         hService = InternetOpenUrl(hInternet, url)
  57.         if(hService != 0)
  58.           status_code = HttpQueryInfo(hService)
  59.           if(status_code == HTTP_CODE_OK)
  60.             info = InternetReadFile(hService)
  61.           end
  62.           InternetCloseHandle(hService)
  63.         end
  64.         InternetCloseHandle(hInternet)
  65.       end
  66.     rescue
  67.       # 例外发生
  68.       return nil
  69.     end
  70. end
复制代码
不知道以前在哪找到的这个,打开网络文件,现在很想用,请问应该怎样

点评

InternetOpen("要填的东西")~当我的话没说过  发表于 2011-4-17 16:21
往事简直不堪回首,稍微做点想做的事吧

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

2
发表于 2010-9-10 20:53:54 | 只看该作者
功能和函数写的这么清楚……已经没必要说明了。
这样的接口还找不到用法的话,大概是没有必要用的了。
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
帖子
607

开拓者

3
 楼主| 发表于 2010-9-10 20:55:53 | 只看该作者
  1. url =
  2. ""
  3. ver = Get_Http_Info.get_info(url)
复制代码
呃,我只知道这个
往事简直不堪回首,稍微做点想做的事吧
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6855
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

4
发表于 2010-9-10 22:16:53 | 只看该作者
参考《6R之眼》
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-23 20:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表