【问题标题】:Java - Android can't send data with httpPost [closed]Java - Android 无法使用 httpPost 发送数据 [关闭]
【发布时间】:2012-04-02 12:32:39
【问题描述】:

我在 Android 中使用 httpPost 发送数据时遇到问题。我找到了一些示例,我没有任何错误或异常,但在 php 站点上 $_POST 始终为空/null。

这是我的代码:

HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://xxxxxxx.com/test.php");

    try {
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
        nameValuePairs.add(new BasicNameValuePair("v", "123"));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        HttpResponse response = httpclient.execute(httppost);
        String responseText = EntityUtils.toString(response.getEntity());
        Toast.makeText(this, responseText, 5000).show();
        System.out.println(responseText);

    } catch (ClientProtocolException e) {
    } catch (IOException e) {
    }

PHP:

<?php $t=$_POST['v']; print $t; ?>

它不会打印 123...

补充:

如您所见,有一个字符串responseText。 在那个字符串中,我可以看到我想要打印的内容是“123”。

【问题讨论】:

  • 您是否添加了必要的权限...?
  • 我这样做了,并且在 responsetext 中我找回了 php 站点的源代码,所以似乎我可以到达它
  • @user1162316 :但您在 nameValuePairs 中只添加了一项并为 (2) 创建;并尝试$t=$_REQUEST['v'] 而不是$t=$_POST['v']

标签: java php android post http-post


【解决方案1】:
<?php $t=$_POST['v']; print $POST['v']; ?>

您的打印中有错字(您缺少“_”)。

将 print $POST['v']; 更改为 print $_POST['v']; 或只是 print $t;

【讨论】:

  • 抱歉,我在发这篇文章时注意到了,只是忘记修复它。我的错误的原因不是那个。 :S
  • 好吧,那么我建议您将一些代码放入您的异常处理(打印)中。你不知道它是否会像现在这样返回错误。
  • 我添加了以下行 catch (Exception e) { System.out.println(e.getMessage()); } 我编辑了我的帖子,请阅读:)但也不例外
  • 如前所述,从 new ArrayList(2) 中删除“2”,因为您不需要它。如果您仍然没有运气,请先尝试在服务器端设置 $_POST['v'] 并检查它是否打印出您期望的结果。换句话说,设置 $_POST['v'] = "123";打印 $_POST['v'];那是 test.php 中唯一的 PHP 代码吗?
  • 感谢您的帮助,我尝试了您所说的:1. 我没有做任何改变 2. 如果我设置 $_POST['v'] 我可以打印它,所以它可以工作 3.那是唯一的 PHP 代码 4。请看一下我的原始帖子,我已经对其进行了编辑。似乎服务器获取了一些数据,但它不存储它。 :$
【解决方案2】:

试试这个:

$putdata = fopen("php://input", "r");
while ($data = fread($putdata, 1024))
  $inputdata .= $data;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-13
    • 1970-01-01
    相关资源
    最近更新 更多