为了简化http访问操作,提高速度,丰富功能,特封装了此库,可以根据需要进行选择。
本库带一个dll,所以建议优先选择使用 inet.http 库:
如果使用 inet.http库,直接 inet.http.get() 速度较慢。
大量访问的话,建议这样用:
var http=inet.http(); // 先声明一个http对象实例
http.get("http://www.baidu.com"); //使用这个http对象实例,对多个网址进行访问
这样速度会很快。
经过多次99999次循环测试,稳定性和速度都可以,没出现访问失败现象。
库文件下载地址
下载地址 光庆·程序·在线 → aardio资源下载 → http.rarhttp://chengxu.online/
解压到:/lib/godking/ 目录下
基本用法:
var body,header = godking.http({
url = "https://www.aardio.com/"; /*完整网址*/
method = ""; /*访问方式,"POST"或者“GET”,默认为“GET”。*/
postData = ""; /*POST提交信息,POST专用。*/
header = ""; /*附加协议头,如"Referer: "*/
outTime = 0; /*超时值,单位毫秒,默认30000,即30秒。*/
proxy = ""; /*代理地址*/
username = ""; /*用户名*/
password = ""; /*密码*/
noHeader = false; /*是否不返回状态文本*/
noRedirect = false; /*是否不自动跳转*/
noCookie = false; /*是否不写入cookie*/
noResponse = false; /*是否不获取返回数据,以提高请求速度*/
toString = false; /*是否将返回的数据转换为string。【false】不转换【true】转换并自动识别utf8【8】转换并强制设为utf8*/
})
使用例程:
import console;
console.open();
import godking.http;
// ★★★★★ 通过数组参数,打开网页
var body,header = godking.http("https://www.aardio.com/")
console.dump(#body,header);
// ★★★★★ 通过配置字典参数,打开网页
var body,header = godking.http({
url = "https://www.aardio.com/"; /*完整网址*/
method = ""; /*访问方式,"POST"或者“GET”,默认为“GET”。*/
postData = ""; /*POST提交信息,POST专用。*/
header = ""; /*附加协议头,如"Referer: "*/
outTime = 0; /*超时值,单位毫秒,默认30000,即30秒。*/
proxy = ""; /*代理地址*/
username = ""; /*用户名*/
password = ""; /*密码*/
noHeader = false; /*是否不返回状态文本*/
noRedirect = false; /*是否不自动跳转*/
noCookie = false; /*是否不写入cookie*/
noResponse = false; /*是否不获取返回数据,以提高请求速度*/
toString = false; /*是否将返回的数据转换为string。【false】不转换【true】转换并自动识别utf8【8】转换并强制设为utf8*/
})
console.dump(#body,header)
// ★★★★★ 不获取返回数据,但是不影响获取header
// 访问一个MP4文件,只发送请求,获取头文件,但不获取文件数据,试试有多快。
var body,header = godking.http({
url = "http://download.aardio.com/demo/Sintel_Trailer.mp4"; /*完整网址*/
noResponse = true;
})
console.dump(#body,header)
// ★★★★★ 设置超时,如果文件太大了,下载时间超出我们的预算时间,可以中断下载。
var body,header = godking.http(
url = "http://download.aardio.com/demo/Sintel_Trailer.mp4",
outTime = 1000, // 超过1秒钟就中断访问
)
console.dump(#body,header)
/**
★★★★★ 设置不允许跳转:看看真正的网页代码是什么:
访问:
http://download.aardio.com/demo/video.aardio
实际上会跳转到:
http://download.aardio.com/demo/Sintel_Trailer.mp4
我们通过设置 noRedirect = true 看看 video.aardio 的真正代码:
**/
var body,header = godking.http({
url = "http://download.aardio.com/demo/video.aardio"; /*完整网址*/
noRedirect = true;
})
console.dump(body,header)
console.pause(true);
执行效果:
测速代码
测试结果仅供参考:
import console;
import inet.http
import godking.http
var inethttp=inet.http()
inethttp.disableCache()
console.open()
var url="http://chengxu.online"
console.dump("inet.http访问测试:")
var t=inet.http.get(url,,,,0x4000000/*_INTERNET_FLAG_DONT_CACHE*/);
console.dump("返回结果长度:",#t,'\n')
console.dump("inet.http对象实例访问测试:")
var t=inethttp.get(url);
console.dump("返回结果长度:",#t,'\n')
console.dump("godking.http访问测试:")
var t=godking.http(url);
console.dump("返回结果长度:",#t,'\n')
console.dump("inet.http.get访问100次,等待中……")
var t=time.tick()
for(i=1;100;1){
inet.http.get(url,,,,0x4000000/*_INTERNET_FLAG_DONT_CACHE*/);
}
console.dump("共耗时:",time.tick()-t)
console.dump("inet.http对象实例访问100次,等待中……")
var t=time.tick()
for(i=1;100;1){
inethttp.get(url);
}
console.dump("共耗时:",time.tick()-t)
console.dump("godking.http访问100次,等待中……")
var t=time.tick()
for(i=1;100;1){
godking.http(url=url,noResponse=true);
}
console.dump("共耗时:",time.tick()-t)
console.pause(true);