HttpWebRequest,如何使用应用程序/ JSON内容类型发送POST数据?
|
HttpWebRequest request =(HttpWebRequest)HttpWebRequest.Create(url);
request.Method = \“ POST \”;
request.ContentType = \“ application / x-www-form-urlencoded; charset = utf-8 \”;
雅虎返回了POST数据(我使用Fiddler检查):
{\“错误\”:{\“代码\”:-1003,\“详细信息\”:\“不支持的内容类型错误\”,\“描述\”:\“不支持的内容类型错误\”}},\“代码\“:-1003}
我正在编写需要application / json的Yahoo Messanger客户端; charset = utf-8作为内容类型,当我设置时:
request.ContentType = \“ application / json; charset = utf-8 \”;
没有发送POST数据,从Yahoo返回:
{\“错误\”:{\“代码\”:-1005,\“详细信息\”:\“无效的参数错误\”,\“描述\”:\“无效的参数错误\”},\“代码\ “:-1005}
更新
我试图通过POST方法发送这2个值:presentationState和status。
如Yahoo Messager IM API中所述,受支持的内容类型为application / json。
在我的代码中,如果将content-type设置为application / json,则HttpWebRequest不会通过POST发送这两个值。
没有找到相关结果
已邀请:
5 个回复
粳饶瓢部
在哪里
稀瓣囊
懊毁暗
希望能有所帮助。
完趣镐
实际发生的情况是,当您写入.ContentType时,实际上是在请求的WebHeaderCollection中设置Content-Type。然后继续进行覆盖。在添加一堆自定义标头之前,可能会对设置的任何标头发生这种情况。如果您正在这样做,则只需先设置自定义标头,然后写入.Whichever标头即可。
拭十年
希望您能解决这个问题。