#region 后台模拟浏览器get/post请求
/// <summary>
/// 发送请求方式
/// </summary>
/// <param name="url">请求Url</param>
/// <param name="para">请求参数</param>
/// <param name="method">请求方式GET/POST</param>
/// <returns></returns>
public static string SendRequest(string url, string para, string method)
{
string strResult = "";
if (url == null || url == "")
return null;
if (method == null || method == "")
method = "GET";
// GET方式
if (method.ToUpper() == "GET")
{
try
{
System.Net.WebRequest wrq = System.Net.WebRequest.Create(url + para);
wrq.Method = "GET";
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
System.Net.WebResponse wrp = wrq.GetResponse();
System.IO.StreamReader sr = new System.IO.StreamReader(wrp.GetResponseStream(), System.Text.Encoding.GetEncoding("utf-8"));
strResult = sr.ReadToEnd();
}
catch (Exception ex)
{
return ex.Message;
}
}
// POST方式
if (method.ToUpper() == "POST")
{
&& para.IndexOf()
{
para = para.Substring();
}
WebRequest req = WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
StringBuilder UrlEncoded = new StringBuilder();
Char[] reserved = { '?', '=', '&' };
byte[] SomeBytes = null;
if (para != null)
{
, j;
while (i < para.Length)
{
j = para.IndexOfAny(reserved, i);
)
{
UrlEncoded.Append(HttpUtility.UrlEncode(para.Substring(i, para.Length - i), System.Text.Encoding.GetEncoding("utf-8")));
break;
}
UrlEncoded.Append(HttpUtility.UrlEncode(para.Substring(i, j - i), System.Text.Encoding.GetEncoding("utf-8")));
UrlEncoded.Append(para.Substring(j, ));
i = j + ;
}
SomeBytes = Encoding.Default.GetBytes(UrlEncoded.ToString());
req.ContentLength = SomeBytes.Length;
Stream newStream = req.GetRequestStream();
newStream.Write(SomeBytes, , SomeBytes.Length);
newStream.Close();
}
else
{
req.ContentLength = ;
}
try
{
WebResponse result = req.GetResponse();
Stream ReceiveStream = result.GetResponseStream();
Byte[] read = ];
, );
)
{// 如果内容以 ANSI 代码页形式
// Encoding encode = System.Text.Encoding.GetEncoding("shift-jis");
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
strResult += encode.GetString(read, , bytes);
bytes = ReceiveStream.Read(read, , );
}
return strResult;
}
catch (Exception ex)
{
return ex.Message;
}
}
return strResult;
}
#endregion
public static string SendRequest(string url, string para)
{
return SendRequest(url, para, "GET");
}