1

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 を作成する必要があると思います。UriStringC#でエスケープせずにUriを作成するにはどうすればよいですか?

4

1 に答える 1