【发布时间】:2017-07-21 03:18:41
【问题描述】:
我正在尝试使用 HttpClient 的 PostAsync 登录网站;但是它总是失败,当我使用 WireShark 跟踪连接时,我发现它错误地发布了数据
代码
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("value1", data1),
new KeyValuePair<string, string>("value2", data2),
new KeyValuePair<string, string>("value3", data3)
});
或
var content = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("value1", data1),
new KeyValuePair<string, string>("value2", data2),
new KeyValuePair<string, string>("value3", data3)
};
用法
httpClient.PostAsync(postUri, content)
期望
value1=123456&value2=123456&value3=123456
现实
//It adds strange += which makes the post fail...
value1=123456&value2+=123456&value3+=123456
【问题讨论】:
-
参数名称后面是否有空格被 url 编码为
+? -
@Jason P 我会重新检查
标签: c# httpclient