aardio 文档

aardio 范例: WinHttp.WinHttpRequest.5.1下载网页

WinHTTP 监听事件

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 监听事件: https://www.aardio.com/zh-cn/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();

Markdown 格式