import com; import com.interface.IWinHttpRequestEvents; import win.ui; /*DSG{{*/ var winform = win.form(text="WinHttp.WinHttpRequest.5.1下载网页") winform.add( edit={cls="edit";text="Edit";left=52;top=29;right=720;bottom=428;edge=1;multiline=1;z=1} ) /*}}*/ //创建COM对象 var winHttp = com.CreateObject("WinHttp.WinHttpRequest.5.1"); //建议使用更方便的 inet.http 或 inet.whttp 。 //WinHTTP 监听事件: doc://example/COM/Advanced/com.interface.html winHttp.setOption(6,0 ) //禁止自动重定向,不能写为 winHttp.Option(6) = 0 winHttp.SetTimeouts( 9999999,9999999,9999999,9999999 ) //设置超时,调用函数不能省略括号 //创建请求 winHttp.Open("GET", "https://www.aardio.com", true/*启用异步*/ ) //自定义请求头,下面修改 User Agent winHttp.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3 (.NET CLR 3.5.30729)"); //发送请求,调用函数不能省略括号 winHttp.Send() //可以用下面的函数等待请求完成(不会卡界面),参数指定超时,-1为不限制时间 winHttp.WaitForResponse(-1);//不卡界面 //获取返回的网页数据( _VT_UI1 类型 COM 数组会返回为 buffer 类型) var pBuffer = winHttp.ResponseBody; winform.edit.print(winHttp.GetAllResponseHeaders() ) //winform.edit.print(winHttp.GetResponseHeader( "Set-Cookie:")); winform.edit.print("状态码",winHttp.Status) winform.show(); win.loopMessage();