zoukankan      html  css  js  c++  java
  • 根据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;

     

            }

     

  • 相关阅读:
    最大流之dinic
    HDU 2485
    最小费用最大流
    HDU 1533
    HDU 1402
    HDU 1498
    HDU 1281
    Codeforces 283E Cow Tennis Tournament 线段树 (看题解)
    Codeforces 983E NN country 思维 (看题解)
    Codeforces 494D Birthday 树形dp (看题解)
  • 原文地址:https://www.cnblogs.com/liufei88866/p/3725223.html
Copyright © 2011-2022 走看看