在C#中获取WebClient的原始查询字符串

时间:2016-12-15 23:49:41

标签: c# asp.net

我正在使用WebClient发出带有查询字符串的POST请求但我看不到原始字符串。这就是我所拥有的:

WebClient TheWebClient = new WebClient();

TheWebClient.QueryString.Add("Param1", "1234");
TheWebClient.QueryString.Add("Param2", "4567");
TheWebClient.QueryString.Add("Param3", "4539");

var TheResponse = TheWebClient.UploadValues("https://www.example.com/posturl", "POST", TheWebClient.QueryString);

string TheResponseString = TheWebClient.Encoding.GetString(TheResponse);

//problem is that this only shows the keys
var RawQueryString = TheWebClient.QueryString;

如何查看实际的原始查询字符串?

1 个答案:

答案 0 :(得分:2)

WebClient.UploadValues不会保存请求“原始查询字符串”只是因为您提供了它们,而且它不会改变,因此是多余的。

此外, HttpPost请求不使用查询字符串作为请求有效负载,它有一个 url ,一个消息有效负载;它附加在标题之后,可能是查询字符串。因此,客户端类不应该让您知道任何新内容,因此它不会保存它。