短连接是客户端每发一个请求就与服务器建立一个连接,交易完成后关闭连接,这种技术实现较长连接 简单。
长:connect连上后不断开, 进行N次收发操作.
短:每次都connect, 完成任务后立即断开. 下次重连.
package com.zhidao.wwwimport java.io.BufferedReader
import java.io.InputStream
import java.io.InputStreamReader
import java.net.HttpURLConnection
import java.net.URL
public class TestShort {
public static void main(String[] args) {
// TODO Auto-generated method stub
String httpUrl = "http://apis.baidu.com/3023/shorturl/shorten"
String httpArg = "url_long=http%3A%2F%2Fapistore.baidu.com%2Fastore%2Fshopready%2F1973.html"
String jsonResult = request(httpUrl, httpArg)
System.out.println(jsonResult)
}
/**
* @param urlAll
*:请求接口
* @param httpArg
*:参数
* @return 返回结果
*/
public static String request(String httpUrl, String httpArg) {
BufferedReader reader = null
String result = null
StringBuffer sbf = new StringBuffer()
httpUrl = httpUrl + "?" + httpArg
try {
URL url = new URL(httpUrl)
HttpURLConnection connection = (HttpURLConnection) url
.openConnection()
connection.setRequestMethod("GET")
// 填入apikey到HTTP header
connection.setRequestProperty("apikey", "自己的apikey")
connection.connect()
InputStream is = connection.getInputStream()
reader = new BufferedReader(new InputStreamReader(is, "UTF-8"))
String strRead = null
while ((strRead = reader.readLine()) != null) {
sbf.append(strRead)
sbf.append("\r\n")
}
reader.close()
result = sbf.toString()
} catch (Exception e) {
e.printStackTrace()
}
return result
}
}
这个可以用 不过要自己申请下api key 得到的字符串也要自己解析