zoukankan      html  css  js  c++  java
  • C# 发送Http协议 模拟 Post Get请求

    1.参数 paramsValue的格式 要和 Reques.ContentType一致,

    如果 contentype  "application/x-www-form-urlencoded" 表单类型,那么  参数为   a=1&b=2 形式

    如果 。。。         "application/json"  json 类型  那么参数就为  "{a:1,b:2}" 格式

     

    2.可以添加自定义header,  add(key,value)

    接受获取header   Request.Headers.Get(key)

    Get

    public static string HttpGet(string url)
           { 
               string result=string.Empty;
               try
               {
                   HttpWebRequest wbRequest = (HttpWebRequest)WebRequest.Create(url);
                   wbRequest.Method = "GET";
                   HttpWebResponse wbResponse = (HttpWebResponse)wbRequest.GetResponse();
                   using (Stream responseStream = wbResponse.GetResponseStream())
                   {
                       using (StreamReader sReader = new StreamReader(responseStream))
                       {
                           result = sReader.ReadToEnd();
                       }
                   }
               }
               catch (Exception ex)
               { 
               
               }
               return result;
           }
    

    Post 请求

    public static string HttpPost(string url, string paramData, Dictionary<string, string> headerDic = null)
           {
               string result = string.Empty;
               try
               {
                   HttpWebRequest wbRequest = (HttpWebRequest)WebRequest.Create(url);
                   wbRequest.Method = "POST";
                   wbRequest.ContentType = "application/x-www-form-urlencoded";
                   wbRequest.ContentLength = Encoding.UTF8.GetByteCount(paramData);
                   if (headerDic != null && headerDic.Count > 0)
                   {
                       foreach (var item in headerDic)
                       {
                           wbRequest.Headers.Add(item.Key, item.Value);
                       }
                   }
                   using (Stream requestStream = wbRequest.GetRequestStream())
                   {
                       using (StreamWriter swrite = new StreamWriter(requestStream))
                       {
                           swrite.Write(paramData);
                       }
                   }
                   HttpWebResponse wbResponse = (HttpWebResponse)wbRequest.GetResponse();
                   using (Stream responseStream = wbResponse.GetResponseStream())
                   {
                       using (StreamReader sread = new StreamReader(responseStream))
                       {
                           result = sread.ReadToEnd();
                       }
                   }
               }
               catch (Exception ex)
               { }
             
               return result;
           }
    
    
  • 相关阅读:
    按照外形结构划分,服务器可分为塔式、机架式、刀片式三种类型
    Nmap和Zenmap详解
    Windows server 2012 出现大量无名已断开连接用户
    神州网信政府版 Windows 10
    NoSQL之redis---RDB与AOF
    NoSQL之redis之哨兵服务
    NoSQL之redis主从(结构片)
    NoSQL之redis高可用及管理集群
    mysql架构篇之引擎与事务介绍
    mysql架构篇之PXC
  • 原文地址:https://www.cnblogs.com/duanbiflying/p/7464713.html
Copyright © 2011-2022 走看看