从c#级别向PHP脚本发送POST请求和数据

本文关键字:POST 请求 求和 数据 脚本 PHP | 更新日期: 2023-09-27 18:25:23

所以我有一个php脚本(它的名称是wiadomosci.php),代码如下:

<?php
if (isset($_GET['wszystkie'])) //when I'm sending GET with wszystkie? paramets it send back all records in JSON -  it works without any problems
{
$con=mysqli_connect("xxxl","xxxx","xxxx","xxxl");

if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else
{
  mysqli_query("SET CHARSET utf8", $con);
  mysqli_query("SET NAMES 'utf8' COLLATE 'utf8_bin'", $con);
  $tablica_wynikow = array();
   $pobrane_dane = mysqli_query($con, "SELECT * FROM wiadomosci");
    while($nt=mysqli_fetch_assoc($pobrane_dane)){ 
    $tablica_wynikow[] = $nt;
    }
header('Content-Type: application/json');
echo json_encode($tablica_wynikow);
}
mysqli_close($con);
}
if (isset($_POST["nowa_wiadomosc"])) //hre is post part
{
    $tresc_wiadomosci = $_POST["nowa_wiadomosc"];
    $con=mysqli_connect("xxx","xxx","xxx","xxxx");

   if (mysqli_connect_errno()) {
      echo "Failed to connect to MySQL: ";
   }
   else
   {
     mysqli_query("SET CHARSET utf8", $con);
     mysqli_query("SET NAMES 'utf8' COLLATE 'utf8_bin'", $con);
     mysqli_query("INSERT INTO wiadomosci (tresc_wiadomosci) values  ($tresc_wiadomosci)");
   }
   mysqli_close($con);  
}
?>

这就是我尝试从c#app:发送POST的方式

System.Net.WebClient client = new System.Net.WebClient();
string result = client.UploadString("xxxxxxxx/wiadomosci.php?", "nowa_wiadomosc=TESTTTTT");
Console.WriteLine(result);

但结果我得到了一些随机的webiste的html代码,并且没有添加新的记录。如果有人能给我指明正确的方向。

编辑:它是固定的。我开始越来越多地去编译它,但php脚本中的查询构造是错误的,现在一切都正常了。

无论如何,谢谢你们。

从c#级别向PHP脚本发送POST请求和数据

您可以尝试以下方式发送POST请求。

using (var wb = new WebClient())
{
    var data = new NameValueCollection();
    data["nowa_wiadomosc"] = "TESTTTTT";

    var response = wb.UploadValues("xxxxxxxx/wiadomosci.php?", "POST", data);
}

查看帮助--链接