HTTP访问API接口

5年以前  |  阅读数:1054 次  |  编程语言:JAVA 

一般服务端提从的API接口,都为字符串,客户端访问获取后,将取转换为Json对象,对于此类操作,本质是访问HTTP,得到字符串形式的body。

示例代码如下所示:

public class HttpHelper {

    public interface HttpRequestCallback{
        void onGetContent(String text);
    }

    public static void httpGet(final String url, final HttpRequestCallback callback){
        new Thread(new Runnable() {
            @Override
            public void run() {
                HttpURLConnection connection=null;
                try{
                    URL urlObject = new URL(url);
                    connection = (HttpURLConnection)urlObject.openConnection();
                    connection.setRequestMethod("GET");
                    connection.setConnectTimeout(8000);
                    connection.setReadTimeout(8000);

                    InputStream in = connection.getInputStream();
                    BufferedReader bufr = new BufferedReader(new InputStreamReader(in));

                    StringBuilder response = new StringBuilder();
                    String line = null;
                    while((line=bufr.readLine()) != null){
                        response.append(line);
                    }

                    if(callback != null){
                        callback.onGetContent(response.toString());
                    }
                }catch(Exception e){
                    e.printStackTrace();
                }finally {
                    closeConnection(connection);
                }
            }
        }).start();
    }


    public static void closeConnection(HttpURLConnection closeable){
        if(closeable != null){
            try{
                closeable.disconnect();
            }catch (Exception ex){
                ex.printStackTrace();
            }
        }
    }
}
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例