根据URL请求 返回XML字符串
public static string GetHttpResponse(string url)
{
string content = "";
// Create a new HttpWebRequest object.Make sure that
// a default proxy is set if you are behind a fure wall.
//其中,HttpWebRequest实例不使用HttpWebRequest的构造函数来创建,二是使用WebRequest的Create方法来创建.
HttpWebRequest myHttpWebRequest1 = (HttpWebRequest)WebRequest.Create(url);
//myHttpWebRequest1.Method = "POST";
//myHttpWebRequest1.ContentType = "application/x-www-form-urlencoded";
////不维持与服务器的请求状态
myHttpWebRequest1.KeepAlive = true;
//myHttpWebRequest1.AllowAutoRedirect = false;
//创建一个HttpWebRequest对象
//Assign the response object of HttpWebRequest to a HttpWebResponse variable.\
HttpWebResponse myHttpWebResponse1;
try
{
myHttpWebResponse1 = (HttpWebResponse)myHttpWebRequest1.GetResponse();
//设置页面的编码模式
//System.Text.Encoding utf8 = System.Text.Encoding.gb;
//System.Text.Encoding.GetEncoding("GB2312").GetString(System.Text.Encoding.UTF8.GetBytes("你的xml字符串"));
Stream streamResponse = myHttpWebResponse1.GetResponseStream();
StreamReader streamRead = new StreamReader(streamResponse, System.Text.Encoding.GetEncoding("GB2312"));
Char[] readBuff = new Char[256];
//这里使用了StreamReader的Read()方法,参数意指从0开始读取256个char到readByff中.
//Read()方法返回值为指定的字符串数组,当达到文件或流的末尾使,方法返回0
int count = streamRead.Read(readBuff, 0, 256);
while (count > 0)
{
String outputData = new String(readBuff, 0, count);
content += outputData;
count = streamRead.Read(readBuff, 0, 256);
}
myHttpWebResponse1.Close();
return content;
}
catch (WebException ex)
{
content = "在请求URL为:" + url.ToString() + " 的页面时产生错误,错误信息为" + ex.ToString();
return content;
}
}
public static IdentlyInfo CredentialsInfo(string identity, string userName)
{
IdentlyInfo identlyInfo = new IdentlyInfo();
string retStr = "";
string url = "http://172.168.254.34:9090/NCIIS/PersonInfoServlet?id=" + identity + "&name=" + userName + "";
// strResult = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><data><status></status><id>身份证号码</id><name>姓名</name><photo>http://b.hiphotos.baidu.com/image/pic/item/f11f3a292df5e0fef825890b5e6034a85edf72fe.jpg</photo></data>";
string strResult = GetHttpResponse(url);
int start, end;
string statusCode = "<status>";
// string strorderstate = null;
start = strResult.LastIndexOf(statusCode) + statusCode.Length;
int starts = strResult.IndexOf("</status>");
if (start != -1)
{
identlyInfo.status = strResult.Substring(start, starts - start);
}
string id = "<id>";
//string strid = null;
start = strResult.LastIndexOf(id) + id.Length;
starts = strResult.IndexOf("</id>");
if (start != -1)
{
identlyInfo.id = strResult.Substring(start, starts - start);
}
string name = "<name>";
//string strname = null;
start = strResult.LastIndexOf(name) + name.Length;
starts = strResult.IndexOf("</name>");
if (start != -1)
{
identlyInfo.name = strResult.Substring(start, starts - start);
}
string photo = "<photo>";
//string strphoto = null;
start = strResult.LastIndexOf(photo) + photo.Length;
starts = strResult.IndexOf("</photo>");
if (start != -1)
{
identlyInfo.photo = strResult.Substring(start, starts - start);
}
if (identlyInfo.status != "00")
{
retStr = "身份证和姓名不匹配!";
}
else
{
retStr = identlyInfo.photo;
}
return identlyInfo;
}
根据URL请求 返回XML字符串的更多相关文章
- ajax请求返回json字符串/json对象 处理
1. 返回json字符串如何处理 $.ajax({ url:xxx, success:function(date){ }, error:function(){ } }); 通过最原始的返回: Prin ...
- 【Spring MVC】spring mvc中相同的url请求返回不同的结果
在项目中凡是使用Spring MVC这种控制器的,大多都是返回JSON数据对象,或者JSP页面. 但是相同的URL请求如何让他自动的选择放回的是什么? 在这里有由于鄙人没有亲自测试过,就不敢乱贴代码, ...
- c# 对SOAP返回XML字符串的解析方法
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP:Head ...
- jsp Ajax请求(返回xml数据类型)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- ajax请求返回Json字符串运用highcharts数据图表展现数据
[1].[图片] Json字符串和highcharts数据图表展现.jpg 跳至 [1] code=26754#44745" rel="nofollow"> [2] ...
- .net 超长URL请求返回404错误-解决方法
<system.webServer> <security> <requestFiltering> <requestLimits maxQueryString= ...
- url请求返回结果测试工具(CURL)
官网:http://curl.haxx.se/download.html 具体用法用时百度 或 到时再补充
- springmvc返回json字符串中文乱码问题
问题: 后台代码如下: @RequestMapping("menuTreeAjax") @ResponseBody /** * 根据parentMenuId获取菜单的树结构 * @ ...
- Asp.net mvc返回Xml结果,扩展Controller实现XmlResult以返回XML格式数据
我们都知道Asp.net MVC自带的Action可以有多种类型,比如ActionResult,ContentResult,JsonResult……,但是很遗憾没有支持直接返回XML的XmlResul ...
随机推荐
- 从头认识Spring-3.8 简单的AOP日志实现(注解版)-扩展添加检查订单功能,以便记录并检測输入的參数
这一章节我们讨论一下扩展添加检查订单功能,以便记录并检測输入的參数. 1.domain 蛋糕类: package com.raylee.my_new_spring.my_new_spring.ch03 ...
- TCP四次挥手断开连接详解
TCP四次挥手. 数据传输结束后,通信的双方都可释放连接.现在A和B都处于ESTABLISHED状态.A的应用程序先向TCP发出连接释放报文段,主动关闭TCP连接.A把连接释放报文段的首部FIN置为1 ...
- python学习之函数返回值
python中函数返回值的方式有2种: 1.return语句 说明:return语句执行完后,函数后续的代码将不会被执行 2.yield语句 说明:yield语句返回的是一个迭代器对象,可以通过nex ...
- c++ virtual 和 pure virtual的区别
参考资料: http://stackoverflow.com/questions/1306778/c-virtual-pure-virtual-explained 验证代码: #include < ...
- FreeBSD编译安装emacs,不要用ports
1. 解压emacs 2. 进入解压之后的目录,执行configure命令,大体配置如下: ./configure --with-x-toolkit=no --with-xpm=no --with-j ...
- 2017-5-14 湘潭市赛 Longest Common Subsequence 想法题
Longest Common Subsequence Accepted : Submit : Time Limit : MS Memory Limit : KB Longest Common Subs ...
- 模式识别 - libsvm的函数调用方法 具体解释
libsvm的函数调用方法 具体解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26261173 须要载入(load)SVM的 ...
- iOS开发之删除过期Provisioning Profiles方法
1.在finder下打开go -> go to folder输入: ~/Library/MobileDevice/Provisioning Profiles 2.查看上面的列表,依照时间顺序删除 ...
- 第二百零二节,jQuery EasyUI,Layout(布局)组件
jQuery EasyUI,Layout(布局)组件 学习要点: 1.加载方式 2.布局属性 3.区域面板属性 4.方法列表 本节课重点了解 EasyUI 中 Layout(布局)组件的使用方法,这个 ...
- Unity3D学习笔记——NGUI之UIButton
前言:用于接受点击,悬停,触摸等事件.UIButton还有重要的用途,就是改变控件不同状态下的颜色. 一:使用方式: 1.在UI Root中右键创建一个Sprite 2.为其添加一个碰撞组件,就添加B ...