78 lines
3.1 KiB
C#
78 lines
3.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Text;
|
|
using System.Text.RegularExpressions;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Yi.Framework.Common.Helper
|
|
{
|
|
public static class HttpHelper
|
|
{
|
|
public static string HttpGet(string Url, string postDataStr="")
|
|
{
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr);
|
|
request.Method = "GET";
|
|
request.ContentType = "text/html;charset=UTF-8";
|
|
|
|
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
|
Stream myResponseStream = response.GetResponseStream();
|
|
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
|
|
string retString = myStreamReader.ReadToEnd();
|
|
myStreamReader.Close();
|
|
myResponseStream.Close();
|
|
|
|
return retString;
|
|
}
|
|
|
|
public static bool HttpIOGet(string Url, string file, string postDataStr="")
|
|
{
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr);
|
|
request.Method = "GET";
|
|
request.ContentType = "text/html;charset=UTF-8";
|
|
|
|
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
|
Stream myResponseStream = response.GetResponseStream();
|
|
FileStream writer = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Write);
|
|
byte[] buffer = new byte[1024];
|
|
int c;
|
|
while ((c = myResponseStream.Read(buffer, 0, buffer.Length)) > 0)
|
|
{
|
|
writer.Write(buffer, 0, c);
|
|
}
|
|
writer.Close();
|
|
myResponseStream.Close();
|
|
|
|
return true;
|
|
}
|
|
|
|
public static string HttpPost(string Url, string postDataStr="")
|
|
{
|
|
CookieContainer cookie = new CookieContainer();
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
|
|
request.Method = "POST";
|
|
request.ContentType = "application/x-www-form-urlencoded";
|
|
request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);
|
|
request.CookieContainer = cookie;
|
|
Stream myRequestStream = request.GetRequestStream();
|
|
StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));
|
|
myStreamWriter.Write(postDataStr);
|
|
myStreamWriter.Close();
|
|
|
|
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
|
|
|
response.Cookies = cookie.GetCookies(response.ResponseUri);
|
|
Stream myResponseStream = response.GetResponseStream();
|
|
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
|
|
string retString = myStreamReader.ReadToEnd();
|
|
myStreamReader.Close();
|
|
myResponseStream.Close();
|
|
|
|
return retString;
|
|
}
|
|
}
|
|
}
|