我想用 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?