Json 无法与 HttpPost 一起使用,可能围绕 setEntity

2023-12-14

我正在使用此代码将其发送到我的 php 文件。 该文件看起来像这样。

file_put_contents('dump.txt', "POST: \n" . print_r($_POST, true) . "\n\n\n GET: \n" . print_r($_GET, true));

我像这样发送 json:

public void postData(String url,JSONObject json) {
    HttpClient httpclient = new DefaultHttpClient();
    String object = "?data=" +json.toString();
    System.out.println("object:" + object);
    try {
        HttpPost httppost = new HttpPost(url.toString());
        httppost.setHeader("Content-type", "application/json");
        System.out.println("url:" + url.toString());
        StringEntity se = new StringEntity(object); 
        System.out.println("json:" + json.toString());

        se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
        httppost.setEntity(se); 

        HttpResponse response = httpclient.execute(httppost);
        String temp = EntityUtils.toString(response.getEntity());
        System.out.println("response:" + response);

        int statusCode = response.getStatusLine().getStatusCode();
        System.out.println("Statuscode " + statusCode);

        if(statusCode==200) {
            Toast.makeText(LbsGeocodingActivity.this, "Verstuurd",  Toast.LENGTH_LONG).show();
        }
        else if(statusCode!=200) {
            Toast.makeText(this, statusCode, Toast.LENGTH_LONG).show();
        }
        /* try {
                String responseBody = EntityUtils.toString(response.getEntity());
        Toast.makeText(this, responseBody, Toast.LENGTH_LONG).show();
        } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
        } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
        }*/
    } 
    catch (ClientProtocolException e) {

    } 
    catch (IOException e) {
    }
}

日志文件是这样的:

01-08 09:36:00.278: I/System.out(1124): object:?data={"id":"69403","timestamp":"08-01-2013 09:36:00","longitude":"-122.084095","latitude":"37.422005"}
01-08 09:36:00.298: I/System.out(1124): json:{"id":"69403","timestamp":"08-01-2013 09:36:00","longitude":"-122.084095","latitude":"37.422005"}
01-08 09:36:01.038: I/System.out(1124): response:org.apache.http.message.BasicHttpResponse@412d1b38
01-08 09:36:01.038: I/System.out(1124): Statuscode 200

出于安全原因我省略了网址..

但我在 dump.txt 中得到一个空文件

POST: 
Array
(
)



 GET: 
Array
(
)

EDIT

setEntity(或附近的某个地方)出了问题,因为当我已经将 ?data= 粘贴到 url 中时,我从 PHP 文件中得到了这个:

POST: 
Array
(
)



 GET: 
Array
(
    [data] => 
)

我用我的发送 JSON 的方式DefaultHttpClient在我的应用程序中完美运行:

public static HttpUriRequest createPostForJSONObject(
        JSONObject params, String url) {
    HttpPost post = new HttpPost(url);
    post.setEntity(createStringEntity(params));
    return post;
}

private static HttpEntity createStringEntity(JSONObject params) {
    StringEntity se = null;
    try {
        se = new StringEntity(params.toString(), "UTF-8");
        se.setContentType("application/json; charset=UTF-8");
    } catch (UnsupportedEncodingException e) {
        Log.e(TAG, "Failed to create StringEntity", e);
        exception = e;
    }
    return se;
}

为了在您的代码中运行此请求,您需要做的就是:

public void postData(String url,JSONObject json) {
    HttpClient httpclient = new DefaultHttpClient();
    try {
          HttpPost post = createPostForJSONObject(json, url);
          HttpResponse response = httpClient.execute(post);
          // DO YOUR THING
    } catch Exception {
         // HANDLE EXCEPTION
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Json 无法与 HttpPost 一起使用,可能围绕 setEntity 的相关文章

  • 导航组件重复 NavArgs 的问题

    我有一个片段 class SomeFragment private val args by navArgs
  • 如何更新 Firebase 中的节点密钥?

    如何重命名14 04 2017 node 没有用于重命名节点的 API 您必须获取节点的值 使用新名称将其保存到数据库并删除旧节点
  • 为什么将函数参数声明为最终的?

    我目前正在阅读 Sams 出版的 24 小时自学 Android 应用程序开发 一书 我对 Java Android 或其他方面还比较陌生 我对 ActionScript 3 有非常扎实的背景 它与 Java 有足够的相似之处 因此该语言本
  • 如何从 SQLite 获取记录总数

    我正在尝试从 Sqlite DB 获取行的总数 以下是我想要做的代码片段 我不知道我在这里做错了什么 public static int getTotalCount Context context Cursor c null try c g
  • 共同的偏好不断消失

    我正在使用共享首选项来存储我的应用程序的登录凭据 除了一个用户之外 一切正常 一段时间后 共享偏好似乎会以某种方式重置或清除 我已针对该用户调整了我的应用程序 使其不再清除他的共享偏好设置 这样我就可以确定这不是我的应用程序的错 但即使在这
  • 无法在自定义 AOSP 上安装 Google Play 中的某些应用程序:项目不可用。理由:9

    我在尝试从 Google Play 安装某些应用程序时收到以下错误 LibraryUtils isAvailable not available restriction 9 DocUtils getAvailabilityRestricti
  • 如果我们使用后退按钮退出,为什么 Android 应用程序会重新启动?

    按住主页按钮并返回应用程序时 应用程序不会重新启动 为什么使用后退按钮会重新启动 如果我们使用后退按钮退出 有什么方法可以解决在不重新启动的情况下获取应用程序的问题吗 请帮忙 当您按下Home按钮 应用程序将暂停并保存当前状态 最后应用程序
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • 在 Android 中使用 DataOutputStream 在 POST 正文中发送特殊字符 (ë ä ï)

    我目前正在开发一个具有大量服务器端通信的 Android 应用程序 昨天 我收到一份错误报告 称用户无法发送 简单 特殊字符 例如 我搜索过但没有找到任何有用的东西 可能重复 没有答案 https stackoverflow com que
  • 已经使用 AsyncTask doInBackground 但新数据未显示

    我使用 AsyncTask 创建一个聊天室来接收消息 因此它总是检查即将到来的消息并将其显示给客户端 但代码似乎无法按我希望的方式工作 在客户端只显示所有旧数据 新数据不显示 因为当我尝试从服务器发送消息时 新数据没有显示在客户端中 我对这
  • Android 原理图内容提供程序库配置?

    Jake Wharton 在最近的一次演讲中提到了这个库 它看起来是避免大量样板文件的好方法 所以我尝试了一下 但没有任何成功 https github com SimonVT schematic https github com Simo
  • 在我的Android中,当其他应用程序想要录制音频时如何停止录音?

    在我的应用程序中 服务通过 AudioRecord 持续录制音频 当我的应用程序运行时 其他与音频记录相关的应用程序 例如 Google 搜索 无法工作 如何知道何时有其他应用想要录制音频 以便我可以停止录制以释放资源 答案是MediaRe
  • Firebase:如何在Android应用程序中设置默认通知渠道?

    如何设置default通知渠道通知消息当应用程序在后台运行时会出现什么情况 默认情况下 这些消息使用 杂项 通道 如你看到的在官方文档中 https firebase google com docs cloud messaging andr
  • Flutter 深度链接

    据Flutter官方介绍深层链接页面 https flutter dev docs development ui navigation deep linking 我们不需要任何插件或本机 Android iOS 代码来处理深层链接 但它并没
  • 检查 Android 手机上的方向

    如何查看Android手机是横屏还是竖屏 当前配置用于确定要检索的资源 可从资源中获取Configuration object getResources getConfiguration orientation 您可以通过查看其值来检查方向
  • 如何在不更改手机语言的情况下更改Android应用程序语言?

    我希望用户在应用程序内选择一种语言 选择语言后 我希望字符串使用特定语言 如果我更改手机语言 那么我的应用程序将以设置的语言运行 我无法找到任何在不更改手机语言的情况下设置语言的方法 此外 一旦设置了语言 更改就应该反映出来 有人可以建议一
  • 调节麦克风录音音量

    我们正在尝试调整录音时的音量级别 麦克风似乎非常敏感 会接收到很多静电 我们查看了 setVolumeControlStream 但找不到传入其中来控制麦克风的流 将您的音频源设置为 MIC using MediaRecorder Audi
  • 如何创建像谷歌位置历史记录一样的Android时间轴视图?

    我想设计像谷歌位置历史这样的用户界面 我必须为我正在使用的应用程序复制此 UIRecyclerView 每行都是水平的LinearLayout其中包含右侧的图标 线条和视图 该线是一个FrameLayout具有圆形背景和半透明圆圈Views
  • Android 设备上的静默安装

    我已经接受了一段时间了 在 Android 上静默安装应用程序是不可能的 也就是说 让程序安装捆绑为 APK 的应用程序 而不提供标准操作系统安装提示并完成应用程序安装程序活动 但现在我已经拿到了 Appbrain 快速网络安装程序的副本
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access

随机推荐

  • 找不到类:com.google.common.collect.Lists

    I am attaching a screen shot of the problem that I am facing with Renjin Engine Please see the image below I m not able
  • 我需要多少个进程来监视两个信号?

    我是一名 vhdl 初学者 需要帮助解决我的问题 我有两个需要监控的信号 一个是 CHECK 另一个是 OK 每次我要求检查时 我都应该得到好的结果 高或低 我需要连续监测6个连续的CHECK脉冲 并计数OK 如果我有 6 OK 低 那么我
  • Flutter Firebase Auth / Google_sign_in 无法登录,状态代码=CANCELED

    这是我的 pubspec yaml 我正在使用颤振 dependencies flutter sdk flutter cupertino icons 0 1 2 shared preferences 0 4 2 json serializa
  • 使用 PHP 从 pdf 中提取内容

    您能告诉我如何使用 PHP 从 PDF 文档中提取内容吗 格式化是我在这里面临的主要问题 因此 如果有一些方法可以提取相同格式的内容并将其显示在在线文本编辑器上 请告诉我 Thanks 看一下XPDF 我想你可以做 text shell e
  • 防止WebSQL数据库中的SQL注入? (如何处理数据中的引号?)

    我目前正在将 mysql 数据库的 xml 导出导入到 websql 数据库中 以用于在线移动体验 一切工作正常 直到我插入的任何字符串中出现双引号 通常 在 PHP 中我会在插入时使用类似 mysql real escape string
  • 通过网络发送数据并以倍频程绘图

    我正在研究一个机器人 我的目标是绘制机器人的状态 目前 我的工作流程是这样的 启动程序 重定向文件中的输出 robot bash rosrun explo explo node gt states txt 将文件发送到我的本地计算机 rob
  • 在 R 中将大向量分割成区间[重复]

    这个问题在这里已经有答案了 我对 R 不太擅长 我运行了这个循环 得到了一个包含 11 303 044 行的巨大结果向量 我有另一个由维度为 1681 行的循环产生的向量 我希望运行一个chisq test来比较它们的分布 但由于它们的长度
  • jQuery UI 可拖动/可排序/可放置在达到可放置限制时禁用放置

    JS Bin 演示 Task 我正在使用 jQuery UI 创建事件调度程序 事件有一定的长度 以分钟为单位 并且可以将它们拖到不同的日期 每个日期都有自己的最大长度 以分钟为单位 在示例中 每天的最大长度为 480 分钟 并且不应允许插
  • Electron 带有节点通知程序显示 Windows 10 通知

    我正在尝试制作一个简单的应用程序 单击按钮时应显示通知 问题是通知没有显示 但 console logs 正在显示 通知应该在开发模式下工作吗 意思是只是运行electron 而且我不必构建和安装该应用程序 Windows操作系统 版本 W
  • 如何增加 FOR 循环语句中的 FOR 循环值?

    我想知道如何增加 FOR 循环语句中的值 这是我的代码 function Check var MemoryData Array of byte MemorySignature Array of byte Position integer b
  • 拟合多峰分布

    假设我们有两个正态分布的线性组合 我认为人们会将结果称为多模态分布 import numpy as np import matplotlib pyplot as plt from scipy stats import norm ls np
  • 查询中的 Linq Convert.ToInt32

    我有一些代码 from AspNetUsers in db AspNetUsers join UserDetails in db UserDetails on new Id Convert ToInt32 AspNetUsers UserD
  • Python 多处理:进程无法启动

    我是新来的multiprocessing在Python 2 7 中 我尝试运行以下代码 from time import sleep from multiprocessing import Process import multiproce
  • 返回 Haskell 中字符串的第一行

    我有一个相当简单的问题 但我很困惑 基本上 我只需要编写一个函数 它接受一个字符串 将其分成几行 接受第一行并以格式正确的 HTML 标题标记返回第一行 老实说 我只是不知道从哪里开始 任何事情都会有所帮助 我确实有代码 但这只是我用来对输
  • JDK 7的支持终止如何影响Android开发

    Oracle 已宣布他们停止了 JRE 7 的官方更新并且JDK 7 据我所知 Google没有说任何关于JDK 8的信息 我猜Android开发的推荐版本是JDK 7 Android 开发是否正式支持 JDK 8 谷歌Android开发p
  • Visual Studio 2010 中的异步、等待

    我在VS2010和VS2012中运行了下面的代码 但VS2012只返回响应 然后我搜索发现 需要在VS2010中启用async和await 然后通过使用 AsyncCtpLibrary dll 引用 我启用了它 但vs2010仍然没有返回响
  • Python输入错误

    我在 Mac OSX 10 9 5m 上运行 python 2 7 10 但它不起作用 这是代码 YourName py name input What is your name n print Hi name 这是错误 Python 2
  • Uglify 破坏了 npm run build,日志报告没有说明任何特别的内容,npm run dev 可以工作

    这是 npm run build 产生的错误消息 ERROR in build js from UglifyJs Unexpected token punc src App vue 40 0 build js 139 6 npm ERR c
  • 跨线程事件信号(Obj-C)的同步/等待设计?

    在 Cocoa 应用程序中 我有这样的设置 主线程 M 可以向某个后台 生产者 线程 B 提交请求以完成某些工作 例如项目 X 的 计算结果 此后不久 另一个后台线程 C 可能需要计算项 X 的结果 并且需要同步这些结果 线程 C 本身可以
  • Json 无法与 HttpPost 一起使用,可能围绕 setEntity

    我正在使用此代码将其发送到我的 php 文件 该文件看起来像这样 file put contents dump txt POST n print r POST true n n n GET n print r GET true 我像这样发送