zoukankan      html  css  js  c++  java
  • 调用第三方接口生成短链接(五)

    对短链接生成API的简要性能测试:

    文章只有部分代码,完整代码可移步CSDN下载 :http://download.csdn.net/detail/litter_fisher/9926266 或者github:https://github.com/Anthoneey/shortUrl。

    分析结果先呈上:

      10条 100条 500条 1000条 2000条
    TestNi2 0 3 20 33 78
    TestSuo 0 3 19 37 78
    Test980 0 4 26 50 104
    TestWeibo 0 6 43 76 150
    TestNowapi -- -- -- -- --

    由于Nowapi免费用户每分钟有访问限制,所以不再提供数据,上述数据表示各种短链接API在单线程调用10次,100次,500次,1000次调用并返回短链接地址所需要的时间。

    TestSuo.java 测试代码如下:

    package space;
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    
    public class TestSuo extends Thread{
    
    	static String actionUrl = "http://suo.im/api.php";
    	static String url = "https://www.baidu.com/";
    	
    	@Override
    	public void run() {
    		long curtime = System.currentTimeMillis();
    		int k = 0;
    		for(int i = 0; i < 20; i++) {
    //			System.out.println("TestNowapi:"+i+":"+getUrl(url+"i?"+i));
    			String ret = getUrl(url+"i?"+i);
    			if(ret==null || "".equals(ret))	k++;
    		}
    		System.out.println("TestSuo耗时毫秒数:"+(System.currentTimeMillis()-curtime)/1000+"。生成短网址失败个数:"+k);
    	}
    	
    	public String getUrl(String longUrl) {
    		String ret = "";
    		try {
    			String longUrlSuo =  java.net.URLEncoder.encode(longUrl,"utf-8");
    			String result = HttpRequest.sendGet(actionUrl, "format=json&url="+longUrlSuo);
    			if(result==null || "".equals(result)){
    				return "";
    			}		
    			JSONObject json = JSON.parseObject(result);	
    			return json.get("url").toString();
    		} catch (Exception e) {
    			e.printStackTrace();
    		} 
    		return ret;	
    	}	
    }
    

    其他接口可参考TestSuo.java, 也可以移步下载源码,地址请查看文章开头说明。

    调用的主类MainTest.java:

    package space;
    
    public class MainTest {
    
    	public static void main(String[] args) {
    	
    		TestSuo ts = new TestSuo();
    		ts.start();
    		TestWeibo tw = new TestWeibo();
    		tw.start();
    		Test980 t9 = new Test980();
    		t9.start();
    		TestNi2 tn2 = new TestNi2();
    		tn2.start();
    		//由于Nowapi接口服务器对免费账号接口调用有限制,此处不再进行测试
    		/*TestNowapi tn = new TestNowapi();
    		tn.start();*/
    	}
    
    }
    

      

  • 相关阅读:
    Bash
    FireDAC
    忽然看到字符汉字特殊字符在计算机中的存储方式
    Windows环境下使用Nginx搭建负载均衡
    Session跨域、Session共享、Mode=StateSever方式解决问题
    原生Js在各大浏览器上、火狐、ie、谷歌、360等出现的不兼容问题。
    Sina 新浪Ip归属地Api 很好用的,使用get请求
    前端页面使用 Json对象与Json字符串之间的互相转换
    使用bootstrap 弹出效果演示
    Mvc自定义路由让支持.html的格式
  • 原文地址:https://www.cnblogs.com/loytime/p/7325384.html
Copyright © 2011-2022 走看看