0

データを投稿しているときに問題が発生しています。問題は & 文字にあります。何かを含む可能性のある文字列を投稿しています。「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# を使用してサーバーに何かを送信する方法を知っている人はいますか? 前もって感謝します。

4

1 に答える 1

3

フリー テキスト フィールド トラフをエンコードする

System.Web.HttpUtility.UrlEncode()

いいえ:

streamWriter.Write("tname=sanam&temail=sanam@" + Guid.NewGuid().ToString("N") + ".com&tbody=" + HttpUtility.UrlEncode(this.body) + "&ttitle=" + HttpUtility.UrlEncode(this.title));
于 2013-06-26T14:46:53.500 に答える