3
多くのことを試しても(下記参照)、"ストリームに書き込まれるバイトが指定されたContent-Lengthバイトサイズを超えています。.NETからPHPサイトにHttpWebRequestを送信する際のエラー
writer.Close();
これにスローされますエラーがPHPのサイトにASP.NETからデータをポストしようとするコードです。 のコードに特殊文字がない限り、スクリプトは正常に動作します。ドイツ語のUmlautは「Wörld」になっています。私も前に、UTF-8にデータを変換することを試みた
request.ContentLength = System.Text.Encoding.UTF8.GetByteCount(data);
及び/又は
StreamWriter writer = new StreamWriter(request.GetRequestStream(), Encoding.UTF8);
:
Uri uri = new Uri("http://mydomain/test.php");
string data = @"data=Hello Wörld";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.Method = WebRequestMethods.Http.Post;
request.ContentLength = data.Length;
request.ContentType = "application/x-www-form-urlencoded";
StreamWriter writer = new StreamWriter(request.GetRequestStream());
writer.Write(data);
writer.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string tmp = reader.ReadToEnd();
response.Close();
Response.Write(tmp);
私は次のように、UTF-8エンコーディングを使用して異なるバリエーションを試みましたそれを送信(多少醜い):
まだエラーが残っています。私の気持ちは、UTF-8の処理権が得られないということです。任意の助けは、私はASP.NET(サーバー側)からPHPに投稿する完全に動作するスクリプトを見つけることができる任意のヒントも大いに感謝しています。
時々私は本当に私はちょうどupvoteと受け入れ答えよりも多くを与えることがしたいです。素早く答えてくれてありがとう、魅力のように働き、私の一日を救った! – Olaf
あなたは歓迎です:-) – Yahia