Java OkHttpClient无法连接到本地主机 [英] Java OkHttpClient Can not connect to localhost

查看:497
本文介绍了Java OkHttpClient无法连接到本地主机的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试将在本地主机上运行的api与Java中的OkHttpClient连接时.但这会引发该错误:

When i try to connect my api running on my localhost with OkHttpClient in java. But it throws that error:

java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 44338) from /127.0.0.1 (port 35986) after 10000ms: isConnected failed: ECONNREFUSED (Connection refused)

我尝试用默认网关192.168.1.1替换"localhost",但仍然无法正常工作.

I tried to replace "localhost" with my default gateway:192.168.1.1 but still not working.

我要求提供的代码:

 OkHttpClient client = new OkHttpClient();
    RequestBody formBody = new FormBody.Builder()
            .add("Username", "***")
            .add("Password", "****")
            .build();

    Request request = new Request.Builder()
            .url("https://localhost:44338/api/authorize/login")
            .addHeader("Content-Type","application/json")
            .post(formBody)
            .build();

    client.newCall(request).enqueue(new Callback() {
        @Override
        public void onFailure(@NotNull Call call, @NotNull IOException e) {
            System.out.println("y" + e.getMessage());
            e.printStackTrace();
        }

        @Override
        public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
            System.out.println("ccc :" + response.body().string());
        }
    });

推荐答案

可能是因为您正在设置的url,您使用的是localhost而不是本地ipaddress,请尝试这样

It could be because of the url you are setting, you are using localhost instead of the local ipaddress, try it like this

HttpUrl localUrl = HttpUrl.parse("http://YourlocalIPV4Address:44338/api/authorize/login")
Request request = new Request.Builder()
        .url(localUrl)
        .addHeader("Content-Type","application/json")
        .post(formBody)
        .build();

让我知道它对您有用!

这篇关于Java OkHttpClient无法连接到本地主机的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆