从 Android 应用程序向 API URL (localhost) 发送和检索数据

Sending and Retrieving data from Android App to API URL (localhost)

我已经尝试了很多网站的所有其他解决方案,将表单数据发送到 PHP Laravel 服务器并从该服务器检索数据,如 retrofit2(它给出了一些 firebase 错误,我试过了修复但不能这样做我简单地放弃了)然后这个 Android 异步 Http 客户端 ('com.loopj.android:android-async-http:1.4.9') 出现在我面前所以我决定测试,现在问题是我的服务器运行 位于地址:http://localhost:8000/api/complaints?username=abduul,当我尝试从我的 android 应用程序中获取此 url 的响应时,出现此错误:

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

我认为这可能是端口号的问题,因为我正在 android 模拟器上进行测试。

我尝试使用的代码是:

public void getData() {
    final AsyncHttpClient client = new AsyncHttpClient();

    client.get("http://localhost:8000/api/complaints?username=abduul", null, new JsonHttpResponseHandler() {
        @Override
        public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
            System.out.println(response);
        }

        @Override
        public void onSuccess(int statusCode, Header[] headers, JSONArray timeline) {

        }
    });
}

还有一件事我什至尝试使用 XAMPP 服务器,但它说

java.net.UnknownHostException: Unable to resolve host "laravel.btsp": No address associated with hostname

此 "laravel.btsp" 在主机文件中定义,请注意这两个 URL 在浏览器上都运行良好

编辑: 即使这两个 URL 在 POSTMAN 上也能正常工作,我尝试从 POSTMAN 发送和获取数据,它有效但在 Android

上给出了错误代码

如果您使用的是 Android 模拟器,请使用 10.0.2.2 而不是本地主机 (127.0.0.1)。因为本地主机指的是模拟器设备,而不是您使用的机器 运行 模拟器。