请求url
可以看到如下结果:

请求的URL是 reqauth.aspx,这是发起认证的第一步,这个请求的返回结果是一个 XML 数据,包含一个 ReqID,用户授权的地址 AuthUrl 以及查询结果的地址 ResultUrl。
如果直接访问这个地址,会提示缺少参数。

加上参数ReqID=22848904

加上请求数据

因此完整的结果查询url要加上?ReqID=22848904&ReqData={ReqData}。
同时可以看见,第一次请求的结果是xml格式,第二次是json格式。
我的思路如下:
- 通过http发送Get请求。
- 用NativeXML解析出其中的AuthUrl和ResultUrl。
- 将AuthUrl用IBarCode2D转换为二维码显示在界面上待用户扫码验证。
- 最后用ResultUrl拼接上?ReqID=22848904&ReqData={ReqData}得到查询授权结果的url。
- 在定时器中不断通过http发送Get请求给ResultUrl,通过SuperObject解析其中的errmsg,如果为’ok.',那么解析UserId,将结果显示在界面中。
总结:通过HTTP请求获取认证ID、生成二维码、等待用户授权、并轮询查询结果。


设计:

初始化:


解析xml:

定时器轮询查看授权结果:

解析json中的errmsg:

另一个刷新二维码的定时器:













![[3]Opengl ES着色器](https://i-blog.csdnimg.cn/blog_migrate/73b82ae18ecf1bdd7fb8f98dae7e5b19.png)






