找回密码
 加入
搜索
查看: 1983|回复: 6

[网络通信] $oHTTP.Send() $oHTTP^ ?? 【已解决】

[复制链接]
发表于 2020-9-1 10:19:46 | 显示全部楼层 |阅读模式
本帖最后由 redapple2008 于 2020-9-1 13:46 编辑
Func _XmlHttp($httpurl, $data = "", $type = "", $charset = "", $ContentType = "")
        $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
        If $type = "" Or $type = "POST" Then
                $stype = "POST"
        Else
                $stype = "GET"
        EndIf
        $oHTTP.Open($stype, $httpurl, True)
        $oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134")
        $oHTTP.SetRequestHeader("Accept-Language", "zh-CN,zh;q=0.8")
        $oHTTP.SetRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8")
        $oHTTP.SetRequestHeader("Connection", "Close")
        If $ContentType = "json" Then
                $ContentTypes = "application/json"
        ElseIf $ContentType = "xml" Then
                $ContentTypes = "text/xml"
        ElseIf $ContentType = "formdata" Then
                $ContentTypes = "multipart/form-data"
        ElseIf $ContentType = "" Then
                $ContentTypes = "application/x-www-form-urlencoded"
        EndIf
        If $charset = "" Or $charset = "UTF-8" Then
                $charsets = "UTF-8"
        Else
                $charsets = "GBK"
        EndIf
        $oHTTP.SetRequestHeader("Content-Type", $ContentTypes & '; charset=' & $charsets)
        $oHTTP.SetRequestHeader("Cache-Control", "no-cache")
        $oHTTP.Send($data)
        $oHTTP.WaitForResponse()
        $oReturnWebS = BinaryToString($oHTTP.ResponseBody, 4)
        Return $oReturnWebS
EndFunc   ;==>_XmlHttp
$oHTTP.Send()  $oHTTP^ ??  这一句总是出错,怎么解决?
#include <GUIConstantsEX.au3>

AccessURL()
Exit

Func AccessURL()

        Local $sURL = "http://www.what21.com"

        ; 创建一个简单的输入界面
        GUICreate("内容窗口  ", 640, 480);
        Local $idGUIEdit = GUICtrlCreateEdit("HTTP 调用展示 HTML:" & @CRLF, 10, 10, 600, 400);
        ; 显示 GUI
        GUISetState()

        ; 执行HTTP GET 调用
        Local $oHttpObj = ObjCreate("winhttp.winhttprequest.5.1");
        ; 这里也可以用 GET 或者 POST调用
        $oHttpObj.open("POST", $sURL);
        $oHttpObj.send();
        Local $sHTMLSource = $oHttpObj.Responsetext;

        ; 将内容填入控件中
        GUICtrlSetData($idGUIEdit, "HTML地址 " & $sURL & " 内容:" & @CRLF & @CRLF & StringAddCR($sHTMLSource), "append")

        ; 等待 知道关闭框口
        Local $iMsg
        While 1
                $iMsg = GUIGetMsg()
                If $iMsg = $GUI_EVENT_CLOSE Then ExitLoop
        WEnd
        GUIDelete()

EndFunc
就这也出错。
 楼主| 发表于 2020-9-1 11:18:11 | 显示全部楼层
$oHttpObj.open("POST", $sURL);查资料说这句要大写,我也是大写啊!
 楼主| 发表于 2020-9-1 11:57:11 | 显示全部楼层
microsoft.xmlhttp不会出错。
发表于 2020-9-1 12:11:56 | 显示全部楼层
网站启用了TLS协议,win10以下系统需安装补丁包
发表于 2020-9-1 12:46:57 | 显示全部楼层
redapple2008 发表于 2020-9-1 11:18
$oHttpObj.open("POST", $sURL);查资料说这句要大写,我也是大写啊!

都能运行
+>12:45:03 启动 AutoIt3Wrapper v15.920.938.0 SciTE v3.6.0.0  键盘:E0230804  操作系统:WIN_7/Service Pack 1  CPU:X64  系统架构:X64  语言环境:0804
+> SciTE 目录 => D:\AutoIt3\SciTE  AutoIt3Wrapper 用户目录 => C:\Users\chzj589\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper   SCITE 用户目录 => C:\Users\chzj589\AppData\Local\AutoIt v3\SciTE
>运行 AU3Check (3.3.14.2) 检查代码.  参数: D:\AutoIt3  au3 文件: D:\AU3调试\3D图表\硬盘读取INITXT\oHTTP.Send.au3
+>12:45:03 AU3Check 语法检查结束.rc: 0
>运行:D:\AutoIt3\autoit3_x64.exe(3.3.14.2), 脚本: D:\AutoIt3\autoit3_x64.exe "D:\AU3调试\3D图表\硬盘读取INITXT\oHTTP.Send.au3"   
--> 点击 Ctrl+Alt+Break 重新启动, 或 Ctrl+Break 停止脚本执行



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2020-9-1 13:46:22 | 显示全部楼层
chzj589 发表于 2020-9-1 12:46
都能运行
+>12:45:03 启动 AutoIt3Wrapper v15.920.938.0 SciTE v3.6.0.0  键盘:E0230804  操作系统:WIN ...

十分感谢,可能是我的系统版本问题,我的是win10,64位。
 楼主| 发表于 2020-9-2 11:45:44 | 显示全部楼层
问题应该找到了,我上网用代理上网,所以这里出错了。不能直接出去。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-19 20:21 , Processed in 0.081442 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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