android - HttpURLConnection POST 参数无法正常工作

标签 android https http-post

我使用 POST 请求和参数创建了 HttpURLConnection 以发送到服务器。服务器响应:

Integrity constraint violation: Column 'operator_id' cannot be null

但是我在查询中明明发了。我尝试通过终端使用 curl,它工作正常。服务器接受查询并将其保存到数据库。我匹配了 curl 和 Android 调用中的所有参数值,但没有帮助。

这是 AsyncTask 类。

public class HttpPost extends AsyncTask<String, String, String> {
  Context context;
  public HttpPost (Context context){
    this.context = context;
  }
   @Override
protected String doInBackground(String... params) {
    URL url;
    String response = "";
    try {
            url = new URL(params[0]);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            String query = "operator_id=1&date=*********";
            conn.setReadTimeout(15000);
            conn.setConnectTimeout(15000);
            conn.setRequestProperty("Content-Type", "application/json");
            conn.setRequestProperty("Accept-Charset", "UTF-8");
            conn.setRequestMethod("POST");
            conn.setDoInput(true);
            conn.setDoOutput(true);

            OutputStream os = conn.getOutputStream();
            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
            writer.write(query);
            writer.flush();
            writer.close();
            os.close();

            int responseCode = conn.getResponseCode();
            .......
            conn.disconnect();
    catch ( Exception e){
      e.printStackTrace();
    }
    return response;
}

这是 curl 调用

curl -H "Content-Type: application/json" -X POST -d '{"operator_id":1,"date":"",other value...}'  https://www.mywebsite.com/

有人知道我做错了什么吗?

最佳答案

尝试将字符串参数包装在有效的 JSON 中应该可行。

String query = "{\"operator_id\":1,\"date\":\"*********\"}";

关于android - HttpURLConnection POST 参数无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34077084/

相关文章:

java - 无法在android中通过JSON将base64字符串图像发送到asp.net web服务

android - EntityUtils.toString() 会导致 NetworkOnMainThreadException 吗?

android - 在图像按钮上显示图库中的图片

android - ListView 中的 EditText - 更改 EditText 的焦点

java - 如何将 SSL 站点上的 reCaptcha 与 Java 库集成?

android - 不受信任的证书错误和 android 上的 httpclient

php - PayPal IPN 监听器 - SSL 证书握手失败

.net - Razor Pages 页面可以在 Post 请求上处理的输入数量是否有最大限制?

django - POST 403 Forbidden for Chrome 扩展(后端为 Django)

android - 导航资源显示未找到 NavHostFragments