首页 > 解决方案 > 无法发送 POST

问题描述

我已经创建了自己的服务器,我想创建可以向其发送数据请求的 Android 应用程序。我已经用邮递员测试过服务器。

我尝试使用以下答案创建 POST 请求:https ://stackoverflow.com/a/2938787/7143020 但是不幸的是,似乎可能没有发送请求。

相关代码如下:

@Override
protected String doInBackground(String... strings) {
    String urlString = strings[0];
    String data = strings[1];
    OutputStream out = null;
    OutputStream outputStream;

    try {
        URL url = new URL(urlString);
        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
        urlConnection.setRequestMethod("POST");
        urlConnection.setDoOutput(true);
        outputStream = urlConnection.getOutputStream();
        out = new BufferedOutputStream(urlConnection.getOutputStream());

        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"));
        writer.write(data);
        writer.close();
        out.close();

        urlConnection.connect();
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }

我尝试使用调试器并且 out 的值为 null 所以麻烦可能与

out = new BufferedOutputStream(urlConnection.getOutputStream());

在 AndroidManifest.xml 我添加了两个权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

我该如何解决这个问题?

标签: android

解决方案


推荐阅读