{"errcode":40008,"errmsg":"不合法的消息类型"}
我在获取凭证时,就是access_token时,在IE中可以正常获取{"expires_in":86400,"access_token":"4531ff25d05c4c4384296d1657e83391"},但我在asp.net中获取时,即返回{"errcode":40008,"errmsg":"不合法的消息类型"},附上我asp.net的代码:
varurl="https://api.yixin.im/cgi-bin/token?grant_type=client_credential&appid=[我的appid]&secret=[我的secret]";
varhttp=newEasyHttp.Http.HttpClient();
varresponse=http.Get(url);
注:我使用的是EasyHttp组件,可以在nuget中下载
忘了说,我用这段代码来获取微信平台的access_token是没问题的,可以正常返回
#2sanxi在2-1810:06回复
应该是组件用得不对,换别的组件试试吧。
#331727799在2-1822:05回复
搞了一天我终于明白是什么BUG了。易信的服务器没有根据我发过来的encoding来解码,系统使用默认的GB2312来提交数据到易信服务器。我估计易信服务器使用了不做判断就使用了UTF8来解码,造成它以为我提交的数据类型不合法。我设置为UTF8就可以解决这个问题。
#431727799在2-1822:20回复
不好意思,我还漏了一点,Request的Content-type一定要设置为"application/json"才行。