从 C# 级别将带有数据的 POST 请求发送到 PHP 脚本

2024-03-15

所以我有一个 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# 应用程序发送 POST 的方式:

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

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

编辑:已修复。我开始越来越多地调试它,php 脚本中的查询构造是错误的,现在一切正常。

不管怎样谢谢你们。


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

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


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

结账寻求帮助——LINK http://msdn.microsoft.com/en-us/library/debx8sh9(v=vs.110).aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 C# 级别将带有数据的 POST 请求发送到 PHP 脚本 的相关文章

随机推荐