使用okHttpClient构建URL

时间:2017-12-05 17:05:29

标签: java okhttp3

使用okHttpClient构建URL时遇到问题。我正进入(状态 URL构造中出现以下错误(http://16.234.156.25:88/example

请找到代码:

public static void main(String[] args) throws IOException, URISyntaxException {
OkHttpClient client = new OkHttpClient.Builder().connectTimeout(30, TimeUnit.SECONDS)
                    .writeTimeout(30, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).build();

            String host = "16.234.156.25";
            int port = 88;

            String port1 = Integer.toString(port);
            String ipadd = host + ":" + port1;

            URI uri = new URI(ipadd);
            String finalURL = uri.toString();

            HashMap<String, String> map = new HashMap<>();

            map.put("", finalURL):

            for (Entry<String, String> m : map.entrySet()) {

                Request request = new Request.Builder()

                        .url("http://" + m.getValue() + "/example").get()
                        .addHeader("cache-control", "no-cache")
                        .addHeader("postman-token", "e6335509-3e1d-54c8-a975-dc9430e6d115").build();

错误:

  

线程中的异常&#34; main&#34; java.net.URISyntaxException:非法   方案名称中的字符在索引0:16.234.156.25:88 at   java.net.URI中的$ Parser.fail(URI.java:2848)

1 个答案:

答案 0 :(得分:0)

错误信息非常好。 “方案”是URL的第一部分,在“://”之前。问题是你没有提供一个。我猜你需要一个“http”或“https”。查看Javadoc的URI类;你需要的不仅仅是一个IP地址。

祝你好运。