调用第三方接口生成短链接(五)

对短链接生成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();*/
	}

}

  

 

posted @ 2017-08-09 15:06  loytime  阅读(945)  评论(0编辑  收藏  举报