gpt4 book ai didi

C# 到 php 到 mysql

转载 作者:行者123 更新时间:2023-11-29 12:53:45 27 4
gpt4 key购买 nike

我正在运行一个带有 mysql 数据库的服务器。我现在正在制作一个 C# 程序,它必须将一些数据放入数据库中。出于安全原因,我会将数据发送到 php 脚本,该脚本将数据插入本地 mysql 数据库。

我正在尝试下面的代码,但是当我使用fiddler检查url是否被调用时,它没有显示出来,所以看起来好像url从未被调用过。

我的代码如下所示:

    string result = string.Empty;
string data2 = string.Empty;
string[] postdata = new string[8];
postdata[0] = "Date";
postdata[1] = log.EndTime.ToString();
postdata[2] = "Name";
postdata[3] = log.OwnerTask.Schedule.Name;
postdata[4] = "Status";
postdata[5] = log.ParsedStatus;
postdata[6] = "Message";
postdata[7] = log.ParsedMessage;
string Url = "http://x.x.x.x/send.php";
System.Text.ASCIIEncoding ascii = new ASCIIEncoding();

for (int i = 0; i < postdata.Length; i += 2)
{
data2 += string.Format("&{0}={1}", postdata[i], postdata[i + 1]);
}

data2 = data2.Remove(0, 1);

byte[] bytesarr = ascii.GetBytes(data2);

try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = bytesarr.Length;

System.IO.Stream streamwriter = request.GetRequestStream();
streamwriter.Write(bytesarr, 0, bytesarr.Length);
streamwriter.Close();
}

有人可以帮我吗?给我指明正确的方向吗?

谢谢

最佳答案

根据提供的准确评论提供更有针对性的答案

写入流后,您应该调用 GetResponseStream 来实际执行请求:

    System.IO.Stream streamwriter = request.GetRequestStream();                
streamwriter.Write(bytesarr, 0, bytesarr.Length);
streamwriter.Close();
var response = request.GetResponseStream(); // this will execute the request
// [go on ...]
}
<小时/>

旧答案,发现了问题,但错过了操作代码的用途,仅供引用

我目前无法在 VS 中验证它,但是这个

System.IO.Stream streamwriter = request.GetRequestStream();
^^^^^^^

应该是

System.IO.Stream streamwriter = request.GetResponseStream();
^^^^^^^^

如:您想要解析响应,而不是请求(您的代码永远不会执行请求,这就是您看不到 URL 被命中的原因)。

关于C# 到 php 到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24396936/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com