Java-Android可以';t使用httpPost发送数据
我在Android中使用httpPost发送数据时遇到问题。我找到了一些例子,我没有任何错误或异常,但在php站点上$\u POST始终为空/null 这是我的代码:Java-Android可以';t使用httpPost发送数据,java,php,android,post,http-post,Java,Php,Android,Post,Http Post,我在Android中使用httpPost发送数据时遇到问题。我找到了一些例子,我没有任何错误或异常,但在php站点上$\u POST始终为空/null 这是我的代码: HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://xxxxxxx.com/test.php"); try { List<NameValuePair> nam
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) {
}
HttpClient-HttpClient=newdefaulthttpclient();
HttpPost HttpPost=新的HttpPost(“http://xxxxxxx.com/test.php");
试一试{
List nameValuePairs=新的ArrayList(2);
添加(新的BasicNameValuePair(“v”、“123”));
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
HttpResponse response=httpclient.execute(httppost);
字符串responseText=EntityUtils.toString(response.getEntity());
Toast.makeText(this,responseText,5000).show();
System.out.println(responseText);
}捕获(客户端协议例外e){
}捕获(IOE异常){
}
PHP:
而且它不会打印123
补充:
正如您所看到的,有一个字符串responseText。
在这个字符串中,我可以看到我想要打印的是“123”。
<?php $t=$_POST['v']; print $POST['v']; ?>
您的打印字体有误(您缺少“25;”)
更改打印$POST['v']
打印$\u POST['v']代码>或简单地打印$t代码>
您的打印字体有误(您缺少“25;”)
更改打印$POST['v']
打印$\u POST['v']代码>或简单地打印$t代码>尝试以下操作:
$putdata = fopen("php://input", "r");
while ($data = fread($putdata, 1024))
$inputdata .= $data;
试试这个:
$putdata = fopen("php://input", "r");
while ($data = fread($putdata, 1024))
$inputdata .= $data;
您是否添加了必要的权限…?我添加了,并且作为响应,我返回了php站点的源代码,因此看起来我可以访问it@user1162316:但您仅在nameValuePairs中添加了一项,并为(2)创建了该项;并尝试$t=$\u REQUEST['v']
而不是$t=$\u POST['v']
您是否添加了必要的权限…?我添加了,并且作为响应,我返回了php站点的源代码,因此看起来我可以访问it@user1162316:但您仅在nameValuePairs中添加了一项,并为(2)创建了该项;并尝试$t=$\u REQUEST['v']
而不是$t=$\u POST['v']
抱歉,我在写这篇文章时注意到了它,只是忘了修复它。我的错误不是因为:很好,那么我建议您在执行处理(打印)中添加一些代码。你不知道它是否会像现在这样返回错误。我添加了以下几行catch(异常e){System.out.println(e.getMessage();}并且我编辑了我的文章,请阅读:),但是没有例外,因为已经提到了从新的ArrayList(2)中删除“2”,因为你不需要它。如果仍然不走运,请尝试首先在服务器端设置$_POST['v'],并检查它是否打印您期望的结果。换句话说,set$_POST['v']=“123”;打印$_POST['v'];这是test.PHP中的ony PHP代码吗?谢谢你的帮助,我尝试了你所说的:1。我没有做任何改变。如果我设置$_POST['v'],我可以打印它,因此它是Works3。这是唯一的PHP代码4。请看一下我原来的帖子,我已经编辑过了。服务器似乎获取了一些数据,但没有存储这些数据:$很抱歉,我在发这篇文章时注意到了它,只是忘了修复它。我的错误不是因为:很好,那么我建议您在执行处理(打印)中添加一些代码。你不知道它是否会像现在这样返回错误。我添加了以下几行catch(异常e){System.out.println(e.getMessage();}并且我编辑了我的文章,请阅读:),但是没有例外,因为已经提到了从新的ArrayList(2)中删除“2”,因为你不需要它。如果仍然不走运,请尝试首先在服务器端设置$_POST['v'],并检查它是否打印您期望的结果。换句话说,set$_POST['v']=“123”;打印$_POST['v'];这是test.PHP中的ony PHP代码吗?谢谢你的帮助,我尝试了你所说的:1。我没有做任何改变。如果我设置$_POST['v'],我可以打印它,因此它是Works3。这是唯一的PHP代码4。请看一下我原来的帖子,我已经编辑过了。服务器似乎获取了一些数据,但没有存储这些数据:$