okhttp的get访问(加header)

使用okhttp来调用百度提供的频道新闻API(http://apistore.baidu.com/apiworks/servicedetail/688.html)

okhttp的添加源

compile ‘com.squareup.okhttp3:okhttp:3.2.0‘
 String httpUrl = String httpArg = String requestString=requestString=httpUrl++httpArgrequest(requestString)
public void request(String requestString) {
    OkHttpClient mOkHttpClient=new OkHttpClient();
    Request.Builder requestBuilder = new Request.Builder().url(requestString).addHeader("apikey","592e46b62cfe201c68bf7d9f18db11ee");
    //可以省略,默认是GET请求
    requestBuilder.method("GET",null);
    Request request = requestBuilder.build();
    Call mcall= mOkHttpClient.newCall(request);
    mcall.enqueue(new Callback() {
        @Override
        public void onFailure(Call call, IOException e) {
            System.out.println("失败");
            getActivity().runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    swipeRefreshLayout.setRefreshing(false);
                }
            });
        }

        @Override
        public void onResponse(Call call, Response response) throws IOException {
            if (null != response.cacheResponse()) {
                String str = response.cacheResponse().toString();
                Log.i("wangshu", "cache---" + str);
            } else {
                String string=response.body().string().toString();
                System.out.println(string);
                try {
                    System.out.println(1);
                    JSONObject jsonObject=new JSONObject(string);
                    JSONArray jsonArray=jsonObject.getJSONObject("showapi_res_body").getJSONObject("pagebean").getJSONArray("contentlist");
                    for (int i=0;i<=9;i++){
                        XinWenBean xinWenBean=new XinWenBean();
                        xinWenBean.setTitle(jsonArray.getJSONObject(i).getString("title"));
                        xinWenBeanList.add(xinWenBean);
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                String str = response.networkResponse().toString();
                Log.i("wangshu", "network---" + str);
            }
            getActivity().runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    swipeRefreshLayout.setRefreshing(false);
                    recyclerView.setAdapter(new XinWenRecyclerViewAdapter(getActivity(),xinWenBeanList));
                }
            });
        }
    });
}
时间: 2024-11-09 01:46:58

okhttp的get访问(加header)的相关文章

Volley和OkHttp并用时导致http header数据被覆盖的bug

问题出在BasicNetwork的performRequest()方法中,出问题的代码如下: public NetworkResponse performRequest(Request<?> request) throws VolleyError { long requestStart = SystemClock.elapsedRealtime(); while (true) { HttpResponse httpResponse = null; byte[] responseContents

OkHttp配置HTTPS访问+服务器部署

目录 1 概述 2 OkHttp介绍 3 准备工作 4 OkHttp部分 4.1 暴力方案 4.2 推荐方案 4.2.1 HostnameVerifier 4.2.2 X509TrustManager 5 服务器部署 5.1 上传工程 5.2 Tomcat配置 6 验证与源码 7 常见问题 7.1 Tomcat HTTPS无法访问 7.2 OkHttp HTTPS无法访问 8 参考链接 1 概述 OkHttp配置HTTPS访问,核心为以下三个部分: sslSocketFactory() Host

AFN 加Header

AFHTTPSessionManager * manager = [AFHTTPSessionManager manager]; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json",@"text/javascript",@"text/html",nil]; mana

关于EF第一次加载慢或过一段时间不访问时再次访问加载慢问题的总结

优化方案 1.安装Application Initialization 这是在iis8出来后才有的,iis8内置的功能,而对于iis7.5也提供了一个扩展以支持这个功能. Application Initialization Module for IIS 7.5 在页面接近底部的地方,找到适合自己架构的安装链接 x86 for Windows 7 x64 for Windows 7 or Windows Server 2008 R2 安装这个iis模块后,在iis界面中并没有模块图标和配置界面,

Nodejs页面访问加载静态资源

<span style="font-family: Arial, Helvetica, sans-serif;">我的文件目录结构:</span> <span style="font-family: Arial, Helvetica, sans-serif;"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAAFOCAYAAACBhSF4AA

AndroidLinker与SO加壳技术之上篇

1. 前言 Android 系统安全愈发重要,像传统pc安全的可执行文件加固一样,应用加固是Android系统安全中非常重要的一环.目前Android 应用加固可以分为dex加固和Native加固,Native 加固的保护对象为 Native 层的 SO 文件,使用加壳.反调试.混淆.VM 等手段增加SO文件的反编译难度.目前最主流的 SO 文件保护方案还是加壳技术, 在SO文件加壳和脱壳的攻防技术领域,最重要的基础的便是对于 Linker 即装载链接机制的理解.对于非安全方向开发者,深刻理解系

Nginx开启Gzip压缩提高页面加载速度

本文转自http://www.veryhuo.com/a/view/51706.html,如有侵权,请及时联系转载人删除! 在实际运维中,为了提高web页面的访问加载速度,一般会把静态资源(比如js.css.img等)在服务器进行压缩再传输到客户浏览器,主要配置步骤如下: 环境:Centos 1.Vim打开Nginx配置文件 vim /etc/nginx/nginx.conf 2.找到如下一段,进行修改 gzip on; // 开启Gzipgzip_min_length 1k; // 不压缩临界

OkHttp深入学习(四)——0kio

上一节<OkHttp深入学习(三)--Cache>我们对okhttp中的Cache缓存机制进行了学习,学习了上一节的内容,如果叫我们自己去设计一个缓存机制,那么我们一定会有了自己的思路,想想还有点小激动.这一节我们继续来看看okhttp这个教科书中还有什么值得我们继续挖掘的东西.果不其然,我们发现了okio这个好东西,该类主要负责对java中io的封装,使得java中的io流读写更加方便,甚至还能提高读写效率.okio项目开源地址请戳这里.在正式学习之前,我们先来了解一下它是如何使用的,随后我

php header运用细节

http://www.111cn.net/phper/php-function/55872.htm http://blog.sina.com.cn/s/blog_7298f36f01011dxv.html header的用法 header()函数的作用是:发送一个原始 HTTP 标头[Http Header]到客户端. 标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头 与 HTML 文件之间尚需空一行分隔.有关 HTTP 的详细说明,可以参 RF