C#で投稿リクエストを送信したい。私が書くコードは次のとおりです。
string Pack = "Http://178.131.59.12:8081/rn/lo/?%%1111103643,A,130313073912,N3518.3952E04700.6455,10,85,0,FFFFFFFF,108\r\n";
Uri UR = new Uri(Pack);
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.CreateDefault(UR);
req.Method = "POST";
WebResponse res = req.GetResponse();
Stream str = res.GetResponseStream();
int b = str.ReadByte() - 48;
if (b == 0)
Console.WriteLine("Successful");
str.Close();
Uri が作成されると、UR%%
は %25%◄ のような無関係な記号に変換されます (エスケープのため)。
Pack 値の % を %25 に置き換えました
string Pack = "Http://178.131.59.12:8081/rn/lo/?%25%251111103643,A,130313073912,N3518.3952E04700.6455,10,85,0,FFFFFFFF,108\r\n";
ただし、サーバーは http ヘッダーを受け入れません。
ブラウザを使用してサーバーに最初のパックの値を送信すると、サーバーはそれを受け入れますが、プログラミングでは受け入れません。
UrsString をエスケープせずに Uri を作成する必要があると思います。UriString
C#でエスケープせずにUriを作成するにはどうすればよいですか?