首页 > 解决方案 > HttpWebResponse 没有从 PHP 响应

问题描述

所以我在 C# 中有这段代码。

    private void SendMessage()
{
    // this is what we are sending
    string post_data = "loginIdPost=" + 2 + "&" + "contentPost=" + absenceInputField.text;

    string uri = "<URI IS HERE>";

    HttpWebRequest request = (HttpWebRequest)
    WebRequest.Create(uri); request.KeepAlive = false;
    request.ProtocolVersion = HttpVersion.Version10;
    request.Method = "POST";

    byte[] postBytes = Encoding.ASCII.GetBytes(post_data);


    request.ContentType = "application/x-www-form-urlencoded";
    request.ContentLength = postBytes.Length;
    Stream requestStream = request.GetRequestStream();

    requestStream.Write(postBytes, 0, postBytes.Length);
    requestStream.Close();


    HttpWebResponse response = (HttpWebResponse)request.GetResponse();




    Console.WriteLine(new StreamReader(response.GetResponseStream()).ReadToEnd());
    Debug.Log(new StreamReader(response.GetResponseStream()).ReadToEnd());

    Debug.Log(response.StatusCode);
    Console.WriteLine(response.StatusCode);
}

它将一些信息发送到 PHP 文件,然后将数据放入我的数据库中。数据已成功发送,但 HttpWebResponse 返回空白。它返回“”,一个空字符串。

这是我的 PHP 代码。

    <?php

//Id
if (isset($_POST["loginIdPost"]))
{
  $loginId = $_POST["loginIdPost"];
} 
else 
{
  $loginId = null;
}


//Content
if (isset($_POST["contentPost"]))
{
  $content = $_POST["contentPost"];
} 
else 
{
  $content = null;
}

try 
{
    $conn = new PDO("Connection String");
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

}
catch (PDOException $e) 
{
    print("Error connecting to SQL Server.");
    die(print_r($e)); 
}

$sth = $conn->prepare('Sql Query is here');
$sth->execute('details of execution are here');
echo "Success";

//Check Connection
if(!$conn)
{
    die("Connection Failed. ". mysqli_connect_error());
}
?> 

有谁知道为什么我会得到一个空字符串,而我希望得到“成功”。同样,php 代码中没有错误,因为 SQL 查询确实将数据插入到我的数据库中。

标签: c#phphttp

解决方案


我设法通过删除 Console.Writeline 来修复它。


推荐阅读