百度API webrequest请求错误

X-i-n 2015-01-06 05:42:38
最近百度升级了他们的API,之前的项目需要从web service迁移到新的所谓的REST+JSON方案的api上。但我调试了个demo,怎么都返回failure,求指点。
下面是百度的说明和我的代码,我尽量注释一下
http://dev2.baidu.com/docs.do#page=REST%E9%A3%8E%E6%A0%BC%E7%9A%84API
        Dim wb As System.Net.WebRequest = WebRequest.Create("https://api.baidu.com/json/sms/v3/AccountService/getAccountInfo")
With wb
.ContentType = "application/json; charset=utf-8"
.Method = "POST"
End With
With wb.Headers
.Add("username", HttpUtility.UrlEncode("****"))'用户名、密码、权限代码、子账户名
.Add("password", "****")
.Add("token", "****")
.Add("target", HttpUtility.UrlEncode("****"))
'用户名和子账户名因为带中文,被提示无效的控制符,所以用urlencode编码了一下
End With

Dim resp As WebResponse = wb.GetResponse
Dim resStream As Stream = resp.GetResponseStream
Dim stmReader As New StreamReader(resStream, System.Text.Encoding.UTF8)
txtResult.Text = Format(Now, "yyyy-MM-dd HH:mm:ss") & vbCrLf & stmReader.ReadToEnd
resStream.Close()
stmReader.Close()
...全文
171 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
X-i-n 2015-01-07
  • 打赏
  • 举报
回复
引用 3 楼 daone 的回复:
看了你的文档 发送数据要JSON数据 { "header":{"token":"yourtoken", //token信息, 必填 "username":"yourusername", //百度商业产品用户账户用户名 ,必填 "password":"*********" //百度商业产品用户账户密码, 必填 }, "body":{ //具体参数,取决于接口 } } 而wb.Headers.Add貌似不对吧。用Firebug调一下就很明显了
账号分两种,一种是带子账号的管理账号,需要带target表明要操作的是哪个子账号;一种就是单纯的账号。示例里的是后面一种,这两种我都试过,都一样的结果,返回
{"header":{"desc":"system failure","failures":[{"code":800,"message":"Server internal error, please try again later.","position":"_sys"}],"status":3}}
DEBUG的时候,能监测到三个HEADER都正确
daone 2015-01-07
  • 打赏
  • 举报
回复
看了你的文档 发送数据要JSON数据 { "header":{"token":"yourtoken", //token信息, 必填 "username":"yourusername", //百度商业产品用户账户用户名 ,必填 "password":"*********" //百度商业产品用户账户密码, 必填 }, "body":{ //具体参数,取决于接口 } } 而wb.Headers.Add貌似不对吧。用Firebug调一下就很明显了
X-i-n 2015-01-07
  • 打赏
  • 举报
回复
顶一下……不能这么沉了啊……保证加分结帖,不信可以看我的历史发帖记录
X-i-n 2015-01-07
  • 打赏
  • 举报
回复
是我理解有问题,webrequest不需要设置header,示例数据里的header+body是作为一个整体,放在data里传送过去的
X-i-n 2015-01-06
  • 打赏
  • 举报
回复
这个URL是用来提供账户信息查询的,传送的BODY只需要为空就可以。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧