jamer 发表于 2011-12-11 16:15:00

[已解决]使用 winhttp.winhttprequest.5.1 出现乱码

本帖最后由 jamer 于 2011-12-11 18:38 编辑


        $LrcId = 145863
        $url = "http://box.zhangmen.baidu.com/bdlrc/" &Int($LrcId/100) & "/" & $LrcId& ".lrc"
        $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
        $oHTTP.Open("GET",$url)
        $oHTTP.Send()
        $Source = $oHTTP.Responsetext       
        $oHTTP = ""       
        MsgBox(0,0,$Source)

出现乱码,该怎么处理啊
stringfromBinary不行
BinaryToString所有参数也是不行
把Responsetext改成Responsebody更不靠谱
求达人

tsys 发表于 2011-12-11 16:26:40

回复 1# jamer


    楼主真麻烦#include <INet.au3>
$LrcId = 145863
      $url = "http://box.zhangmen.baidu.com/bdlrc/" &Int($LrcId/100) & "/" & $LrcId& ".lrc"
                MsgBox(0,"",_INetGetSource ( $URL ))

jamer 发表于 2011-12-11 16:52:27

本帖最后由 jamer 于 2011-12-11 16:54 编辑

回复 2# tsys
我也知道_INetGetSource或者帮助里的其他函数
但是不知道是网速还是什么问题
这个函数在我的电脑上就没有成功返回过值
我提供的那个是经过我检验可以返回正确数值的(只是可惜是乱码)

如果有新的函数的请提供,或者就是按照我要求的框架解决吧

tsys 发表于 2011-12-11 17:50:57

本帖最后由 tsys 于 2011-12-11 17:53 编辑

回复 3# jamer


    楼主看此帖,传送门:http://www.autoitx.com/forum.php?mod=viewthread&tid=21014
    参考:http://tieba.baidu.com/f?kz=912178384$LrcId = 145863
      $url = "http://box.zhangmen.baidu.com/bdlrc/" &Int($LrcId/100) & "/" & $LrcId& ".lrc"
      $oHTTP = ObjCreate('microsoft.xmlhttp')
      $oHTTP.Open("GET",$url,False)
      $oHTTP.Send()
      $sText = BinaryToString($oHTTP.responseBody)
      MsgBox(0,0,$sText)

jamer 发表于 2011-12-11 18:27:01

本帖最后由 jamer 于 2011-12-11 18:28 编辑

回复 4# tsys >"D:\ProLan\AutoIt\SciTe\ACNWrapper\ACNWrapper.exe" /run /ErrorStdOut /in "C:\Documents and Settings\Administrator\桌面\soft\test2.au3" /autoit3dir "D:\ProLan\AutoIt" /UserParams   
+>18:20:06 开始执行 ACNWrapper v.1.0.1.0
+> ============================================
+>执行环境:
+>        CPU构架:        X64
+>        系统构架:        X86
+>        系统语言:        0804
+>        键盘布局:        E0200804
+>        内存总量:        1013MB
+>        内存剩余:        118MB
+>        操作系统:        WIN_XP/Service Pack 3
+>        AU3版本:        3.3.7.15
+> ============================================
>运行 AU3Check (1.54.21.0)开始目录:D:\ProLan\AutoIt
+>18:20:06 AU3Check 完成:0
>运行:(3.3.7.15):D:\ProLan\AutoIt\autoit3.exe "C:\Documents and Settings\Administrator\桌面\soft\test2.au3"   
C:\Documents and Settings\Administrator\??\soft\test2.au3 (5) : ==> ??????(?????).:
$oHTTP.Send()
$oHTTP.Send()^ ERROR
->18:20:28 AutoIT3.exe 完成::1
+>18:20:29 ACNWrapper 完成..
>退出代码: 1        运行时间: 23.558 秒
我是试了不少函数,其他的都不给力啊
'microsoft.xmlhttp'这个我之前也是试过的,就是得不到结果,上面就是输出框的显示
真的不是我不争气啊。知道错了不知道错哪~~

jamer 发表于 2011-12-11 18:38:39

本帖最后由 jamer 于 2011-12-11 18:40 编辑

        $LrcId = 145863
        $url = "http://box.zhangmen.baidu.com/bdlrc/" &Int($LrcId/100) & "/" & $LrcId& ".lrc"
        $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
        $oHTTP.Open("GET",$url)
        $oHTTP.Send()
        $Source =BinaryToString($oHTTP.responseBody)
        $oHTTP = ""       
        MsgBox(0,0,$Source)
原来这样就可以了。。
其他的方式不知道为什么在自己电脑上不能用。。先慢慢研究了。
多谢 tsys 大大 的帮助~~
页: [1]
查看完整版本: [已解决]使用 winhttp.winhttprequest.5.1 出现乱码