楼主: end55rpg

[已经解决] 如何用Get_Http_Info读取的数据....

[复制链接]
梦石
0
星屑
752
在线时间
800 小时
注册时间
2011-10-20
回帖
2257

开拓者

 楼主| 发表于 2013-8-2 22:39:57 | 显示全部楼层
490832999 发表于 2013-8-2 22:36
这东西不会呢...可能要用到gdi32

AbortPath 抛弃选入指定设备场景中的所有路径。也取消目前正在进行的任 ...

…………难道要这等麻烦。。。API秒杀了我。。。。。
gdi是啥。。。好吧我慢慢翻,。。。。。貌似绘图
欢迎点此进入我的egames.wink.ws,有RMQQ堂等

[url=http://rpg.blue/thread-317273-1-1.html]短篇八-赶选

http://yun.baidu.com/share/link?shareid=2158225779&uk=169642147&third=0


历险?ARPG?赢回你的疆域?新的战斗模式?…………点击这里:[宋乱贼狂 for QQ堂]
http://rpg.blue/group-368-1.html
programing ....?
[url=http://rpg.blue/thrd-234658-1-1.html]
回复

使用道具 举报

梦石
0
星屑
65
在线时间
84 小时
注册时间
2008-3-31
回帖
75
发表于 2013-8-2 22:43:10 | 显示全部楼层
end55rpg 发表于 2013-8-2 22:39
…………难道要这等麻烦。。。API秒杀了我。。。。。
gdi是啥。。。好吧我慢慢翻,。。。。。貌 ...

Get_Http_Info也肯定是用API了啊

点评

额,。。。俺直接用写好的这个gethtttpinfoooo  发表于 2013-8-2 22:52
回复

使用道具 举报

梦石
0
星屑
49
在线时间
276 小时
注册时间
2011-6-5
回帖
128
发表于 2013-8-2 22:44:58 | 显示全部楼层
好吧,我也不会。
【其实我也就会点RGSS,这个好像是牵扯到png文件结构什么的吧(不知道是不是),完全不懂,看来帮不了你】

点评

。。。。。。。。。。PNG好吧看错  发表于 2013-8-2 22:51
。。。。。。。。。。。。。。。。。。。俺木有用PHP  发表于 2013-8-2 22:51
研表究明,汉字的序顺并不定一能影阅响读,比如当你看完这话句后,才发这现里的字全是都乱的
回复

使用道具 举报

梦石
0
星屑
752
在线时间
800 小时
注册时间
2011-10-20
回帖
2257

开拓者

 楼主| 发表于 2013-8-2 22:56:22 | 显示全部楼层
亿万星辰 发表于 2013-8-2 22:23
试试直接用File.open打开一个文件,然后直接用write把整个数据写入,我曾经写过抓取blog网页中图片和文字的 ...
  1. p=Get_Http_Info.get_html('http://www.baidu.com/img/bdlog)

  2. o.gif'
  3. p p
  4. File.open("bd.gif","w+").write(p)
复制代码
然后p出来的就差不多乱码啦。。然后保存的bd.gif也就是绘图失败。。。
欢迎点此进入我的egames.wink.ws,有RMQQ堂等

[url=http://rpg.blue/thread-317273-1-1.html]短篇八-赶选

http://yun.baidu.com/share/link?shareid=2158225779&uk=169642147&third=0


历险?ARPG?赢回你的疆域?新的战斗模式?…………点击这里:[宋乱贼狂 for QQ堂]
http://rpg.blue/group-368-1.html
programing ....?
[url=http://rpg.blue/thrd-234658-1-1.html]
回复

使用道具 举报

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
回帖
5038

贵宾

发表于 2013-8-2 23:06:26 | 显示全部楼层
本帖最后由 亿万星辰 于 2013-8-2 23:16 编辑

那说了半天Get_Http_Info.get_html是什么内容啊,你还是不说……

用 wb 来写
  1. bitmap = Get_Version_Info.get_version("http://uc.66rpg.com/data/avatar/000/24/98/90_avatar_middle.jpg")
  2. f = File.open("temp.jpg", "wb")
  3. f.write(bitmap)
  4. f.close
复制代码
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

梦石
0
星屑
752
在线时间
800 小时
注册时间
2011-10-20
回帖
2257

开拓者

 楼主| 发表于 2013-8-2 23:32:12 来自手机 | 显示全部楼层
亿万星辰 发表于 2013-8-2 23:06
那说了半天Get_Http_Info.get_html是什么内容啊,你还是不说……

用 wb 来写

好吧明天我试试然后html..那个就是几百年前你updateonline的产物啊。。睡咯注意休息。。。。
我记得我是用wb不行才改用w+的,,
回复

使用道具 举报

梦石
0
星屑
752
在线时间
800 小时
注册时间
2011-10-20
回帖
2257

开拓者

 楼主| 发表于 2013-8-3 07:49:43 | 显示全部楼层
本帖最后由 end55rpg 于 2013-8-3 07:52 编辑
亿万星辰 发表于 2013-8-2 23:06
那说了半天Get_Http_Info.get_html是什么内容啊,你还是不说……

用 wb 来写


bitmap = Get_Version_Info.get_version("http://uc.66rpg.com/data/avatar/000/24/98/90_avatar_middle.jpg")
f = File.open("temp.jpg", "wb")
f.write(bitmap)
f.close


= =我试了下运行这个怎么不管用额,下载的temp.jpg还是无法显示。。。你测试能显示?

gethtml如下↓。。

[pre lang="ruby" line="1"]#==================================================
# 本脚本来自 www.66rpg.com 使用和转载请保留此信息
#==================================================
class Get_Http_Info
  AGENT = "RGSS PLAYER"
  INTERNET_OPEN_TYPE_PRECONFIG = 0 # IEの設定を仕様
  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,length,bk)
    content = ""
   
    read_size = 1024 # 一次读入文件的尺寸
    irf = Win32API.new('wininet', 'InternetReadFile', %(l, p, i, p), 'i')
    bk.call(0,length)
    id=0
    while(true)
      buf = "\0" * read_size
      red = [0].pack('L')
      irf.call( hService, buf, read_size, red )
      bk.call(id*read_size,length)
      id+=1
      # 读到文件末端
      break if (red.unpack('L') == [0])
      buf.delete!("\0")
      content += buf
    end
    return content
  end
  
  HTTP_QUERY_STATUS_CODE = 19
  CONTENT_LENGTH=5
  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.HttpQuerySize(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, CONTENT_LENGTH, buf, red, nil)
    buf.delete!("\0")
    return buf
  end
  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,bk)
    info = nil
   # begin
      hInternet = InternetOpen()
      if (hInternet != 0)
        hService = InternetOpenUrl(hInternet, url)
        
        if (hService != 0)
          status_code = HttpQueryInfo(hService)
          length=HttpQuerySize(hService).to_i
          if (status_code == HTTP_CODE_OK)
            #a=File.open(pathname,"wb")
            info = InternetReadFile(hService,length,bk)
          end
          InternetCloseHandle(hService)
        end
        InternetCloseHandle(hInternet)
      end
    #rescue
      # 例外发生
    #  return nil
    #end
   
    return info
  end
  
end[/pre]

点评

不给这个我们怎么知道你用的是什么API函数我们怎么帮你囧  发表于 2013-8-3 10:43
欢迎点此进入我的egames.wink.ws,有RMQQ堂等

[url=http://rpg.blue/thread-317273-1-1.html]短篇八-赶选

http://yun.baidu.com/share/link?shareid=2158225779&uk=169642147&third=0


历险?ARPG?赢回你的疆域?新的战斗模式?…………点击这里:[宋乱贼狂 for QQ堂]
http://rpg.blue/group-368-1.html
programing ....?
[url=http://rpg.blue/thrd-234658-1-1.html]
回复

使用道具 举报

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
回帖
2982

贵宾

发表于 2013-8-3 10:48:38 | 显示全部楼层
其实直接把数据内容写入文件就行了吧。
这个下载因该是直接下载文件数据,保持文件名相同因该就行了。

点评

汗。。果然是非洲人的蛋  发表于 2013-8-3 13:32
↓咱还没搞过网络关联的事情,不太清楚囧  发表于 2013-8-3 10:55
。你也这么说。。但我试了不行不信乃试试  发表于 2013-8-3 10:54
回复

使用道具 举报

梦石
0
星屑
660
在线时间
1286 小时
注册时间
2011-6-14
回帖
3949
发表于 2013-8-3 12:43:59 | 显示全部楼层
我也不会

我反正对网络一窍不通你能拿我怎么样= =
然后我对编码不了解大概是编码?(……
回复

使用道具 举报

梦石
0
星屑
752
在线时间
800 小时
注册时间
2011-10-20
回帖
2257

开拓者

 楼主| 发表于 2013-8-3 12:49:04 来自手机 | 显示全部楼层
satgo1546 发表于 2013-8-3 12:43
我也不会

我反正对网络一窍不通你能拿我怎么样= =

好吧
俺低估你了
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部