如何发送内容类型= application / x-www-form-urlencoded的POST请求。 给定一个访问代码,我试图使用POST请求获取AccessToken,在该请求中,我在POST URL中设置了所有信息,因此我不知道在postAysnc方法中作为Http内容传递什么。
根据另一篇文章,对于application / x-www-form-urlencoded来说,发送到服务器的HTTP消息的主体本质上是一个巨大的查询字符串-名称/值对用&分隔,名称与值之间用等号(=)分隔。例如:
MyVariableOne = ValueOne&MyVariableTwo = ValueTwo。
因此,在类似的情况下,我的POST网址具有所有信息作为查询字符串,在那种情况下,我不知道在postAysnc方法中以HttpContent的形式传递什么,因为它是强制性参数
HttpClient客户端=新的HttpClient(); StringContent queryString =新的StringContent(数据); HttpResponseMessage response =等待客户端。PostAsync(new Uri(url),queryString);
答案 0 :(得分:0)
两个选项:
StringContent
,但设置内容类型:new StringContent(data, Encoding.UTF8, "application/x-www-form-urlencoded")
StringContent
代替使用FormUrlEncodedContent
;请注意,这采用描述值的KeyValuePair<string, string>
序列(例如,创建包含{ {"MyVariableOne", "ValueOne"}, {"MyVariableTwo", "ValueTwo"} }