ECGGather/1200gFtp/netOptions.cs
2024-12-25 17:21:40 +08:00

103 lines
4.8 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
namespace _1200gFtp
{
public class netOptions
{
public static string HttpPost(string Url, string postDataStr)
{
WebRequest request = WebRequest.Create(Url);
request.Method = "POST";
request.ContentType = "application/json";
byte[] buf = Encoding.UTF8.GetBytes(postDataStr);
byte[] byteArray = System.Text.Encoding.Default.GetBytes(postDataStr);
request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);
request.GetRequestStream().Write(buf, 0, buf.Length);
WebResponse response = 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 string HttpPost(string Url, string postDataStr, string Method)
{
WebRequest request = WebRequest.Create(Url);
request.Method = Method;
request.ContentType = "application/json";
byte[] buf = Encoding.UTF8.GetBytes(postDataStr);
byte[] byteArray = System.Text.Encoding.Default.GetBytes(postDataStr);
request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);
request.GetRequestStream().Write(buf, 0, buf.Length);
WebResponse response = 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 string PostWebRequest(string Url, string postDataStr, string Method, Dictionary<string, string> headerDic)
{
string ret = string.Empty;
try
{
WebRequest request = WebRequest.Create(Url);
foreach (KeyValuePair<string, string> kvp in headerDic)
request.Headers[kvp.Key] = kvp.Value;
request.Method = Method;
request.ContentType = "application/json";
byte[] buf = Encoding.UTF8.GetBytes(postDataStr);
byte[] byteArray = System.Text.Encoding.Default.GetBytes(postDataStr);
request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);
request.GetRequestStream().Write(buf, 0, buf.Length);
WebResponse response = 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;
}
catch (Exception ex)
{
}
return ret;
}
/// <summary>
/// 获取url的返回值
/// </summary>
/// <param name="url"></param>
public static string GethttpInfo(string url)
{
string strBuff = "";
Uri httpURL = new Uri(url);
///HttpWebRequest类继承于WebRequest并没有自己的构造函数需通过WebRequest的Creat方法 建立,并进行强制的类型转换
HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(httpURL);
///通过HttpWebRequest的GetResponse()方法建立HttpWebResponse,强制类型转换
HttpWebResponse httpResp = (HttpWebResponse)httpReq.GetResponse();
///GetResponseStream()方法获取HTTP响应的数据流,并尝试取得URL中所指定的网页内容
///若成功取得网页的内容则以System.IO.Stream形式返回若失败则产生ProtoclViolationException错 误。在此正确的做法应将以下的代码放到一个try块中处理。这里简单处理
Stream respStream = httpResp.GetResponseStream();
///返回的内容是Stream形式的所以可以利用StreamReader类获取GetResponseStream的内容并以
//StreamReader类的Read方法依次读取网页源程序代码每一行的内容直至行尾读取的编码格式UTF8
StreamReader respStreamReader = new StreamReader(respStream, Encoding.UTF8);
strBuff = respStreamReader.ReadToEnd();
return strBuff;
}
}
}