繁体   English   中英

如何在.net框架中发送包含'%%'的http发布请求?

[英]How to send a http post request that contain '%%' in .net framework?

我想使用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标头。

当我使用任何浏览器将第一包的价值发送到服务器时,服务器会接受它,但是通过编程则不会。

我想我应该创建一个Uri而不逃避UrsString。 如何在C#中不转义UriString创建Uri?

使用HttpWebRequest.CreateHttp而不是HttpWebRequest.CreateDefault

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM