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>
                */
    

      

  • 相关阅读:
    codeforces707B:Bakery
    codeforces707A:Brain's Photos
    BZOJ1084 [SCOI2005]最大子矩阵
    BZOJ1264 [AHOI2006]基因匹配Match
    BZOJ2764 [JLOI2011]基因补全
    codevs1257 打砖块
    BZOJ1079 [SCOI2008]着色方案
    BZOJ1026 [SCOI2009]windy数
    菜鸟学自动化测试(一)----selenium IDE
    关于w3school的html5部分output 元素实例代码(点亲自试一试进去)的问题纠正
  • 原文地址:https://www.cnblogs.com/soundcode/p/2966268.html
Copyright © 2011-2022 走看看