java okhttp https_okhttp访问https示例

package com.sxci.simon.qiniutest;

import android.test.InstrumentationTestCase;

import android.test.suitebuilder.annotation.SmallTest;

import com.qiniu.android.dns.DnsManager;

import com.qiniu.android.dns.Domain;

import com.qiniu.android.dns.IResolver;

import com.qiniu.android.dns.NetworkInfo;

import com.qiniu.android.dns.local.AndroidDnsServer;

import com.qiniu.android.dns.local.Resolver;

import java.io.IOException;

import java.net.InetAddress;

import java.net.UnknownHostException;

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

import okhttp3.Call;

import okhttp3.Callback;

import okhttp3.Dns;

import okhttp3.OkHttpClient;

import okhttp3.Request;

import okhttp3.Response;

/**

* Created by Simon on 6/20/16.

*/

public class HappyDnsTest extends InstrumentationTestCase {

private OkHttpClient client;

@Override

public void setUp() throws Exception {

System.out.println("setUp.....liubin");

IResolver[] resolvers = new IResolver[2];

resolvers[0] = AndroidDnsServer.defaultResolver();

resolvers[1] = new Resolver(InetAddress.getByName("114.114.115.115"));

final DnsManager dnsM = new DnsManager(NetworkInfo.normal, resolvers);

// dnsM.putHosts("training.download.finger66.com", "115.231.75.15");

// Domain d = new Domain("training.download.finger66.com", true, true);

// String[] ips1 = dnsM.query(d);

// System.out.println(1 + ": " + join(ips1, ", "));

//

// String[] ips2 = dnsM.query("training.download.finger66.com");

// System.out.println(2 + ": " + join(ips2, ", "));

OkHttpClient.Builder builder = new OkHttpClient.Builder();

builder.dns(new Dns() {

@Override

public List lookup(String hostname) throws UnknownHostException {

InetAddress[] ips;

try {

ips = dnsM.queryInetAdress(new Domain(hostname));

} catch (IOException e) {

e.printStackTrace();

throw new UnknownHostException(e.getMessage());

}

if (ips == null) {

throw new UnknownHostException(hostname + " resolve failed");

}

List l = new ArrayList<>();

Collections.addAll(l, ips);

return l;

}

});

client = builder.build();

}

@SmallTest

public void testReq() {

System.out.println("testReq....liubin");

try {

System.out.println(client.dns().lookup("training.download.finger66.com").toString());

} catch (UnknownHostException e) {

e.printStackTrace();

}

client.newCall(new Request.Builder()

.url("https://training.download.finger66.com/qiniu_do_not_delete.gif")

.build()).enqueue(new Callback() {

@Override

public void onFailure(Call call, IOException e) {

e.printStackTrace();

}

@Override

public void onResponse(Call call, Response res) throws IOException {

System.out.println(res.toString());

}

});

}

public static String join(Object[] array, String sep) {

return join(array, sep, "");

}

public static String join(Object[] array, String sep, String prefix) {

if (array == null) {

return "";

}

int arraySize = array.length;

if (arraySize == 0) {

return "";

}

if (sep == null) {

sep = "";

}

if (prefix == null) {

prefix = "";

}

StringBuilder buf = new StringBuilder(prefix);

for (int i = 0; i < arraySize; i++) {

if (i > 0) {

buf.append(sep);

}

buf.append(array[i] == null ? "" : array[i]);

}

return buf.toString();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值