zoukankan      html  css  js  c++  java
  • HttpWebRequest post提交XMl参数请求,

    public string StartPing(string pingURL)//改为一个传参数URL
    {
    StreamReader sr = null;
    StringBuilder sb = new StringBuilder();
    string strOutput = string.Empty;
    string strXML = string.Empty;
    try
    {
    //HttpUtility.HtmlEncode
    strXML = BuildXML();
    int len = strXML.Length;
    ASCIIEncoding ascii = new ASCIIEncoding();
    HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(pingURL);
    webReq.Method = "POST";
    webReq.Timeout = 3000;//超时为3秒
    webReq.ContentType = "text/xml"; 
    //string contenttype = "application/x-www-form-urlencoded";//更网站该方法支持的类型要一致
    webReq.Credentials = CredentialCache.DefaultNetworkCredentials;
    webReq.ContentLength = len;
    
    Stream streamRequest = webReq.GetRequestStream();
    byte[] bt = ascii.GetBytes(strXML);
    streamRequest.Write(bt, 0, len);
    HttpWebResponse webRes = (HttpWebResponse)webReq.GetResponse();
    
    sr = new StreamReader(webRes.GetResponseStream(), Encoding.ASCII);
    string ret = sr.ReadToEnd();
    sb.AppendLine("\n");
    sb.AppendLine(ret);
    
    if (ret.IndexOf("<boolean>0</boolean>") >= 0)
    {
    sb.AppendLine("\n\t 服务提交成功!");
    }
    else if (ret.IndexOf("<boolean>1</boolean>") >= 0)
    {
    sb.AppendLine("\n\t 服务提交失败!");
    }
    if (sr != null)
    {
    sr.Close();
    }
    }
    catch (Exception ex)
    {
    sb.AppendLine(ex.Message);
    sb.AppendLine(ex.StackTrace);
    }
    finally
    {
    strOutput = sb.ToString();
    if (sr != null)
    {
    sr.Dispose();
    }
    }
    return strOutput;
    }
    
    private string BuildXML()
    {
    System.Text.StringBuilder sb = new System.Text.StringBuilder();
    sb.Append("<?xml version=\"1.0\"?>");
    sb.Append("<params>");
    sb.AppendFormat("<title>{0}", "公告标题");
    sb.Append("</title>");
    sb.AppendFormat("<content>{0}", "公告内容,base64加密的");
    sb.Append("</content>");
    
    sb.Append("<verify=be10c510b5f4f082dbd4268820cde895>");
    
    sb.Append("</params>");
    return sb.ToString();
    }
    

      

    下面是服务器端接收请求方法:

    加载事件里:
    //对应方法StartPing
                byte[] byts = new byte[Request.InputStream.Length];
                Request.InputStream.Read(byts, 0, byts.Length);
                string req = System.Text.Encoding.Default.GetString(byts);
                req = Server.UrlDecode(req);
                //下面是接收到的内容
                //<?xml version="1.0"?><params><title>????</title><content>?????base64???</content><verify=be10c510b5f4f082dbd4268820cde895></params>
                */
    

      

  • 相关阅读:
    给大家来一波免费电影福利~~~
    SpringBoot第二十四篇:应用监控之Admin
    影响世界的100个经典管理定律
    SpringBoot第二十三篇:安全性之Spring Security
    20年研发管理经验谈(十六)(终结)
    Java获取指定时间段的年份(开始、结束时间)、月份(开始、结束时间)、天数(开始、结束时间)
    js创建post请求
    Java截取视频首帧并旋转正向
    jquery 禁用/启用滚动条
    Jquery表单序列化和json操作
  • 原文地址:https://www.cnblogs.com/soundcode/p/2966268.html
Copyright © 2011-2022 走看看