zoukankan      html  css  js  c++  java
  • C# HttpRequest

      1 using System;
      2 using System.Collections;
      3 using System.Collections.Generic;
      4 using System.IO;
      5 using System.Linq;
      6 using System.Net;
      7 using System.Security.Policy;
      8 using System.Text;
      9 using BDIC_BASE.Bonc.UI.Util;
     10 
     11 namespace BDIC_BASE.Bonc.DAL
     12 {
     13     public class HttpRequest
     14     {
     15         public static string DoPost(string url, Hashtable paramsOfUrl)
     16         {
     17             if (url == null)
     18             {
     19                 throw new Exception("url 为空");
     20                 //return "";
     21             }
     22             // 编辑并Encoding提交的数据  
     23             byte[] data = GetJointBOfParams(paramsOfUrl);
     24 
     25             // 发送请求  
     26             System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
     27             request.Method = "POST";
     28             request.ContentType = "application/x-www-form-urlencoded";
     29             request.ContentLength = data.Length;
     30 
     31             Stream stream = request.GetRequestStream();
     32             stream.Write(data, 0, data.Length);
     33             stream.Close();
     34 
     35             // 获得回复  
     36             System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
     37             StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
     38             string result = reader.ReadToEnd();
     39             reader.Close();
     40 
     41             return result;
     42         }
     43 
     44         public static string DoGet(string url, Hashtable paramsOfUrl)
     45         {
     46             if (url == null)
     47             {
     48                 throw new Exception("url 为空");
     49                 //return "";
     50             }
     51             // 编辑并Encoding提交的数据  
     52             string  data = GetJointSOfParams(paramsOfUrl);
     53             // 拼接URL
     54             url += "?" + data;
     55 
     56             // 发送请求  
     57             System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
     58             request.Method = "GET";
     59             
     60             // 获得回复  
     61             System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
     62             StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
     63             string result = reader.ReadToEnd();
     64             reader.Close();
     65 
     66             return result;
     67         }
     68 
     69         private static String GetJointSOfParams(Hashtable paramsOfUrl)
     70         {
     71             // 编辑并Encoding提交的数据  
     72             StringBuilder sbuilder = new StringBuilder();
     73             int i = 0;
     74             foreach (DictionaryEntry de in paramsOfUrl)
     75             {
     76                 if (i == 0)
     77                 {
     78                     sbuilder.Append(de.Key + "=" + de.Value);
     79                 }
     80                 else
     81                 {
     82                     sbuilder.Append("&" + de.Key + "=" + de.Value);
     83                 }
     84             }
     85             return sbuilder.ToString();
     86         }
     87 
     88         private static byte[] GetJointBOfParams(Hashtable paramsOfUrl)
     89         {
     90             // 编辑并Encoding提交的数据  
     91             String stringJointOfParams =  GetJointSOfParams(paramsOfUrl);
     92             byte[] data = new ASCIIEncoding().GetBytes(stringJointOfParams);
     93 
     94             return data;
     95         }
     96     }
     97 
     98     public class HttpParam
     99     {
    100         public HttpParam()
    101         {
    102         }
    103 
    104         private Hashtable _paramsOfUrl;
    105         public Hashtable ParamsOfUrl
    106         {
    107             get
    108             {
    109                 if (_paramsOfUrl == null)
    110                 {
    111                     _paramsOfUrl = Hashtable.Synchronized(new Hashtable());
    112                 }
    113                 return _paramsOfUrl;
    114             }
    115             set { _paramsOfUrl = value; }
    116         }
    117 
    118         public void AddParamOfUrl(String paramKey ,String paramValue)
    119         {
    120             try
    121             {
    122                 ParamsOfUrl.Add(paramKey, paramValue);
    123             }
    124             catch (Exception ex)
    125             {
    126                 Console.WriteLine("可能为key重复
    详细:" + ex.Message);
    127             }
    128         }
    129     }
    130 }
  • 相关阅读:
    java.util.Date和java.sql.Date的区别及应用
    powderdesinger显示中英文表名
    Axure实现提示文本单击显示后自动消失的效果
    如何把Java的double类型变量保留两位小数
    MyBatis查询,返回值Map或List<Map>
    Spring Security整合JWT,实现单点登录,So Easy~!
    win10+mysql8.0安装
    Intellij IDEA导入JAVA项目并启动(哈哈哈,天天都有人问)
    色彩设计基础知识整理
    前端开发者必备的Nginx知识
  • 原文地址:https://www.cnblogs.com/-wangjiannan/p/3519131.html
Copyright © 2011-2022 走看看