web.rest.jsonLiteClient 使用注意事项

光庆 8月前 950

import  web.rest.jsonLiteClient
// 这是我个人认为可以及时释放内存占用的一种用法,循环期间内存始终保持较低占用。
// 作者并不提倡此种用法,因为内存会自动释放,无需这种处理方式。
// 经测试,自动释放时,内存会维持在占用100多兆到200多兆左右,可能后期会在合适的时机进行释放,
// 或者不在乎这点内存占用的话,无需理会就行。
for(i=1;9999;1){
    var js = web.rest.jsonLiteClient();
    var t = js.get("https://www.baidu.com");
    js.request(); 
    js.close(); 
}


最新回复 (5)
  • aiyh 8月前
    0 2

    麻烦问一下web.rest和inet.http有什么区别?为什么返回值不一致?测试不同的网站有的时候三种方法返回的一致,有的只能用其中的二种,比如下面的例子,法一和法三能够得到预期的结果,但是法二不行,这是什么原因呢?@光庆

    import console;
    import web.rest.jsonLiteClient;
    import web.rest.jsonClient;
    import web.json;
    import inet.http;
    
    
    //法一    
    function get_stdinfo_nssi (number,url,data){
    	var http = inet.http();
    	var content = http.post(url,data);
        var content1  = web.json.parse(content);
        http.close();     
        return content1;}
    
    //法二
    function get_stdinfo_nssi_2 (number,url,data){
    	var http = web.rest.jsonClient();
    	var content = http.post(url,data);
        http.close();     
        return content;}
    
    //法三
    function get_stdinfo_nssi_3 (number,url,data){
    	var http = web.rest.jsonLiteClient();
    	var content = http.post(url,data);
        http.close();     
        return content;}
        
        
    number = "LY/T 1232-2015";
    url = "https://www.nssi.org.cn/cssn/front/standard/selectStandardListByCond"
    data ={
        "cond.orderBy": "",
        "cond.keywords": number,
        "cond.activeValue":"全部",
        "cond.yearStartValue": "", 
        "cond.yearEndValue": "",
        "cond.publishCorpA104": "",
        "cond.chinaClassCN": "",
        "cond.aboradClassICSN": "",
        "cond.otherpublishCorpGroup": "",
        "cond.account_id": "", 
        "cond.login_name": "",
        "cond.superKeyWord": "", 
        "cond.superKeyWordChoose": "",
        "cond.advanced_search": "", 
        "cond.A100": "", 
        "cond.caiyong": "", 
        "cond.super_A101": "",
        "cond.super_standarnumber": "",
        "cond.super_w_level_s": "", 
        "cond.super_w_location_s": "",
        "cond.super_tips_s": "",
        "cond.w_level_s": "", 
        "cond.w_source_s": "",
        "cond.w_location_s": "", 
        "cond.tips_s": "", 
        "cond.shouye_a100": "", 
        "cond.resulttype": 0,
        "cond.secondword": "", 
        "cond.loadPage": "true",
        "cond.containFullTextValue": "否",
        "cond.whetherSearchAll":  0,
        "page":  1,
        "limit":  10,
        "start":  0}	
    info = get_stdinfo_nssi(number,url,data);
    info1 = get_stdinfo_nssi_2 (number,url,data)
    info2 = get_stdinfo_nssi_3 (number,url,data)
    
    console.dump(info);
    console.dump(info1);
    console.dump(info2);
    console.pause(true);


  • aiyh 8月前
    0 3
    url = "http://www.njbz365.com/njbzb/shopCartManage/getStanDetailInfo1.do";
    data = {id = "2427529"; stanNum =  number;}; 
    
    url = "https://www.cssn.net.cn/api/standards/"
    data ={keyword = number; page = 1 ;}
    
    
    
    更换上面2行参数,这三个函数得到的结果又是一致的
    更换下面两行数据,并将post改get,法一又不对了,非常的奇怪


  • kio 8月前
    0 4
    aiyh 麻烦问一下web.rest和inet.http有什么区别?为什么返回值不一致?测试不同的网站有的时候三种方法返回的一致,有的只能用其中的二种,比如下面的例子,法一和法三能够得到预期的结果,但是法二不行 ...
    一点都不奇怪啊,在web应用-rest-入门中,有说明的 请求为网页表单编码,响应数据直接返回,使用 web.rest.client 请求为网页表单编码,响应数据为 JSON,使用 web.rest.jsonLiteClient 请求与响应数据都是 JSON,使用 web.rest.jsonClient
  • 光庆 8月前
    0 5
    aiyh 麻烦问一下web.rest和inet.http有什么区别?为什么返回值不一致?测试不同的网站有的时候三种方法返回的一致,有的只能用其中的二种,比如下面的例子,法一和法三能够得到预期的结果,但是法二不行 ...
    可能是因为不同的库,提交的数据格式不一样,导致服务器处理结果不一样。
  • 瞌睡蟲子 8月前
    0 6
    话说为啥在循环里面创建对象,正常也应该创建一个连接池来管理吧。
返回