C#使用POST方法将数据发布到Web服务器

本文关键字:Web 服务器 数据 使用 POST 方法 | 更新日期: 2023-09-27 18:19:55

发布数据时遇到问题。问题在&性格我正在发布一个字符串,其中可能包含任何内容。如"this&this, how are you?"。但在上述情况下,只有"this"在发送。来自字符&的字符串被剥离。

我尝试过的代码:

  var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://mywebsite.com/import.php");
            httpWebRequest.ContentType = "application/x-www-form-urlencoded";
            httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
            {
                streamWriter.Write("tname=sanam&temail=sanam@" + Guid.NewGuid().ToString("N") + ".com&tbody=" + this.body + "&ttitle=" + this.title);
                streamWriter.Flush();
                streamWriter.Close();
                var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    retStr = streamReader.ReadToEnd();
                }
                //retStr = "POST: " + this.body;
            }

有人知道如何使用C#将任何东西发送到服务器吗?提前谢谢。

C#使用POST方法将数据发布到Web服务器

通过对自由文本字段进行编码

System.Web.HttpUtility.UrlEncode()

IE:

streamWriter.Write("tname=sanam&temail=sanam@" + Guid.NewGuid().ToString("N") + ".com&tbody=" + HttpUtility.UrlEncode(this.body) + "&ttitle=" + HttpUtility.UrlEncode(this.title));