当前位置: 首页 > 知识库问答 >
问题:

接收来自PHP文件的HTTP POST回显响应(发送POST效果很好,我无法理解接收)

韩楷
2023-03-14

因此,正如标题所示,我的问题是获得对我正在制作的HTTP POST的响应。应该发生的是,我发送了一堆变量,PHP检查数据库中的变量,并将结果发回给我(作为页面的回声)。

以下是android代码:

 public class CheckChallenge extends AsyncTask<String, Void, String> 
  {
    @Override
    protected String doInBackground(String... urls) 
    {
      String response = "";
      try
      {
        URL = urls[0];
   ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(4);
   nameValuePairs.add(new BasicNameValuePair("victim",NetPlay.myId)); 
   // need to return these to an array
   nameValuePairs.add(new BasicNameValuePair("rival",rivalid));


        nameValuePairs.add(new BasicNameValuePair("word","null"));
        nameValuePairs.add(new BasicNameValuePair("won","0"));

          HttpClient httpclient = new DefaultHttpClient();
          HttpPost httppost = new      
          HttpPost("http://www.hanged.comli.com/check-rival.php");
          httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

          HttpResponse execute = httpclient.execute(httppost);
          HttpEntity entity = execute.getEntity();

          //InputStream is = entity.getContent();

          //mText.setText(is.toString());

         Log.i("postData", execute.getStatusLine().toString());
         //HttpEntity entity = response.getEntity();

      }
      catch(Exception e)
      {
              Log.e("log_tag", "Error in http connection"+e.toString());
      }
            return response;
        } 

    @Override
    protected void onPostExecute(String result) 
    {
        // CHECK ENTIRE DATABASE FOR MY ID //
        // IF MY ID IS THERE THEN THAT MEANS IVE CHALLENGED SOMEONE //


    }

  }

这里是PHP,我认为它是可以的,只是为了完整性而包括它:$connect=mysql\u connect($mysql\u host“,$mysql\u user“,$mysql\u password”)或die($mysql\u password”);mysql_选择_数据库($mysql_数据库“,$connect)或die(“无法选择数据库”);会话_start();

$victim = $_POST['victim'];
$rival = $_POST['rival'];
$word = $_POST['word'];
$won = $_POST['won'];

$query = "SELECT rival FROM currentgames";
$result = mysql_query($query);

 if (!$result) 
 {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}

if (mysql_num_rows($result) == 0) 
{
echo "No rows found, nothing to print so am exiting";
exit;
}

 while ($row = mysql_fetch_assoc($result)) 
{
 echo $row["rival"];
}

如果能帮上忙,我将不胜感激,尽量让我了解所有这些HTTP帖子的内容。

共有1个答案

越涵衍
2023-03-14

发送HTTP请求并读回HTTP响应的示例:

String res = "";
String url = "http://www.domain.com/youscript.php";
URL urlObj = new URL(url);
URLConnection lu = urlObj.openConnection();


// Send data - if you don't need to send data 
// ignore this section and just move on to the next one
String data = URLEncoder.encode("yourdata", "UTF-8");
lu.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(lu.getOutputStream());
wr.write(data);
wr.flush();

// Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(lu.getInputStream()));
String line = "", res = "";
while ((line = rd.readLine()) != null) {
  res += line;
}

wr.flush();
wr.close();
System.out.println(res);
 类似资料:
  • 本文向大家介绍php发送与接收流文件的方法,包括了php发送与接收流文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php发送与接收流文件的方法。分享给大家供大家参考。具体如下: sendStreamFile.php 把文件以流的形式发送 receiveStreamFile.php 接收流文件并保存到本地 sendStreamFile.php文件: receiveStreamFi

  • 这是我第一次尝试进行基本身份验证,但似乎没有任何效果。Axios post未发送数据/控制器未返回响应。我找不到我到底哪里出错了,但我想知道我的http post请求的主体是否必须与requestbody匹配,或者我需要做什么更改才能让UserRepository将表单dat保存在数据库中? }

  • 我正在使用Spring的方法,我很难理解如何正确处理错误。现在我正在调用一个SOAP服务,如果有人使用相同的唯一标识符,在内部发生错误时,该服务将响应以下消息。 但是,只有通过设置记录到。从我对的调用中返回的消息是以下更通用的消息。 我如何从原始响应中获取,并将其作为异常抛出到适配器中?? 来自后端请求的实际错误消息将比一般的SoapFaultClientExctive和堆栈跟踪有用得多。 使用搜

  • 我正在尝试做一些项目前的经验,对最新的反应堆网络版本,缺乏文档;我使用的是0.8.0.m3版本。 我用这个tcp服务器开发了一个简单的spring boot应用程序,它可以正确启动,并且看起来可以正常工作: 如果我尝试使用客户端进行测试,交互似乎是正确的,但我无法收到任何响应: 查看wiretap日志,客户机将每个int作为字符串单独发送,而服务器只接收一个聚合字符串“0123456789”并只发

  • 我的api正在生成一个pdf文件并返回它。我在“邮差”中收到的邮件头是... 我可以保存文件内容,邮递员没有问题。 然而,当我试图从角度来理解这一点时,有一个问题。 我设置标题如下... 然后我尝试了两种不同的方法。 首先是使用< code>responseType: 'blob'。这返回blob没有问题。正如您在上面看到的,问题是文件名在响应头中。对于blob响应,我无法获取标题。 第二,我没有

  • 我试着设置一封电子邮件。html和一个动作。php,以便有人可以从网站发送电子邮件。这是电子邮件中的代码。html 在行动中。我有 在电子邮件中输入的信息。html已成功加载到操作中。php,但我的Outlook收件箱中没有收到来自电子邮件方法的任何内容。我错过什么了吗?