• C# WebHTTPUtil工具类


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Net;
    using System.IO;
    using System.Text.RegularExpressions;
    public class WebHTTPUtil
    {
    	public CookieContainer CookieContainer { get; set; }
    	public CookieCollection CookieCollection { get; set; }
    	public WebRequest Request{
    		get; set;
    	}
    
    	public WebHTTPUtil()
    	{
    		this.CookieCollection = new CookieCollection();
    		this.CookieContainer = new CookieContainer();
    	}
    
    	/// <summary>
    	/// 以POST 形式请求数据
    	/// </summary>
    	/// <param name="RequestPara"></param>
    	/// <param name="Url"></param>
    	/// <returns></returns>
    	public  string PostData(string Url,string RequestPara)
    	{
    		System.GC.Collect ();
    		Request = HttpWebRequest.Create(Url);
    		RequestPara=Regex.Replace(RequestPara,"%", "%25");
    		byte[] buf = System.Text.Encoding.GetEncoding("utf-8").GetBytes(RequestPara);
    		Request.ContentType = "application/x-www-form-urlencoded";
    		Request.ContentLength = buf.Length;
    		Request.Method = "POST";
    		
    		System.IO.Stream RequestStream = Request.GetRequestStream();
    		RequestStream.Write(buf, 0, buf.Length);
    		RequestStream.Close();
    		
    		System.Net.WebResponse response = Request.GetResponse();
    		StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"));
    		string ReturnVal = reader.ReadToEnd();
    		reader.Close();            
    		response.Close();
    		Request = null;
    		return ReturnVal;
    	}
    	
    	/// <summary>
    	/// 以GET 形式获取数据
    	/// </summary>
    	/// <param name="RequestPara"></param>
    	/// <param name="Url"></param>
    	/// <returns></returns>
    	
    	public  string GetData(string Url, string RequestPara)
    	{
    		System.GC.Collect ();
    		RequestPara=RequestPara.IndexOf('?')>-1?(RequestPara):("?"+RequestPara);
    		RequestPara=Regex.Replace(RequestPara,"%", "%25");
    		Request = HttpWebRequest.Create(Url + RequestPara);
    		
    		byte[] buf = System.Text.Encoding.GetEncoding("utf-8").GetBytes(RequestPara);          
    		Request.Method = "GET";
    		
    		System.Net.WebResponse response = Request.GetResponse();
    		string status = ((HttpWebResponse)response).StatusDescription;
    		if (!status.Equals ("OK")) {
    			response.Close();
    			return "ERROR";
    		}
    		StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"));
    
    		string ReturnVal = reader.ReadToEnd();
    		reader.Close();
    		response.Close();
    		Request = null;
    		return ReturnVal;
    	}
    	
    }
    

      

  • 相关阅读:
    51Nod 1352 集合计数(扩展欧几里德)
    莫比乌斯函数
    Codefroces 919D Substring(拓扑排序+DP)
    Codeforces 918C The Monster(括号匹配+思维)
    平面分割类问题总结
    01字典树(待更新)
    进程同步和互斥??
    进程间的八种通信方式----共享内存是最快的 IPC 方式??
    super() 函数??
    HTTP协议详解??
  • 原文地址:https://www.cnblogs.com/ylhssn/p/6015915.html
Copyright © 2020-2023  润新知