获取需要登录认证的远程数据
2016-07-04 15:18
344 查看
///获取远程xml信息 string strUrl = "www.xxx.com/get/2323"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strUrl); request.Method = "post"; request.ContentType = "text/xml;charset=utf-8"; request.ContentLength = 0; NetworkCredential cred = new NetworkCredential("用户名", "密码"); request.Credentials = cred; //在信息请求头部加入验证信息,不然验证不通过 request.PreAuthenticate = true; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8); string retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); Response.Write(retString);
//处理返回的xml public bool CheckUser(string token) { bool flag = false; //验证成功与否的标识 //向服务器发出验证XML信息 string requestXML = ""; requestXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><ecity><msgname>XXXXXX</msgname><msgversion>1.0.0</msgversion><transactionid>000000</transactionid><timestamp>" + DateTime.Now.ToString("yyyyMMddhhmmss") + "</timestamp><msgsender>abc</msgsender><svccont><token>" + token + "</token></svccont></ecity>"; //发送验证的XML并获取返回的XML信息 string responseXML = ""; responseXML = SendRequest(requestXML); //解析XML信息 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(responseXML); XmlNodeList nodes = xmlDoc.SelectNodes("/ecity/msgname"); if (nodes.Count > 0) { //首先判断是否接口正确 if (nodes[0].InnerText.Trim().ToLower() == "getuserinforesp") { nodes = xmlDoc.SelectNodes("/ecity/result/rspcode"); if (nodes.Count > 0) { //表示验证通过 if (nodes[0].InnerText.Trim() == "0") { flag = true; } } } } return flag; }
相关文章推荐
- Android Tab -- 使用Fragment、FragmentManager来实现
- [转] Putty - 文件夹显示的蓝色太暗
- html内容写入到文件中的时候出现‘TypeError: expected a character buffer object’错误
- android 布局优化(一),include标签
- 锐捷面试问题_guanhang20160704
- 4.边缘光照的描边shader
- 关于 tomcat启动后无法访问的问题(localhost:8080 (or your port specified))
- JS字符对比
- 面向对象的设计模式---工厂模式和单例模式
- linux文件权限管理
- Java服务器热部署的实现原理
- ToolBar 修改菜单字体和颜色
- java Exception体系结构
- jndi数据源配置
- Flask项目和文档集
- pdf转换成jpg图片的在线转换方法
- Android简单提示框
- Recyclerview 点击事件区别 getPosition() ,getLayoutPosition(),getAdapterPosition()
- Android开发之提高应用启动速度splash页面瞬间响应 避免APP启动闪白屏
- Unity3D中角色的动画脚本的编写