/// <summary>
/// HTTP GET方式请求数据.
/// </summary>
/// <param name="url">URL.</param>
/// <returns></returns>
public static string HttpGet(string url)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "GET";
//request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "*/*";
request.Timeout = 120 * 1000;
request.AllowAutoRedirect = false;
WebResponse response = null;
string responseStr = null;
try
{
response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
responseStr = reader.ReadToEnd();
reader.Close();
}
catch (WebException e)
{
response = (HttpWebResponse)e.Response;
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
responseStr = reader.ReadToEnd();
reader.Close();
}
catch (Exception ex)
{
throw ex;
}
finally
{
request = null;
response = null;
}
return responseStr;
}
/// <summary>
/// HTTP POST方式请求数据
/// </summary>
/// <param name="url">URL.</param>
/// <param name="param">POST的数据</param>
/// <returns></returns>
public static string HttpPost(string url, string param, WebHeaderCollection header = null, string contentType = "application/x-www-form-urlencoded")
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "POST";
request.ContentType = contentType;
string[] sArray = param.Split(new string[] { "shipping_method" }, StringSplitOptions.RemoveEmptyEntries);
string[] sArray1 = param.Split(new string[] { "UAccount\":\"" }, StringSplitOptions.RemoveEmptyEntries);
string[] sArray2 = param.Split(new string[] { "Token\":\"" }, StringSplitOptions.RemoveEmptyEntries);
string ss="";
if (sArray.Length > 1) {
ss = sArray[1].Split(new string[] { "\"" }, StringSplitOptions.RemoveEmptyEntries)[1];
}
if (sArray1.Length > 1)
{
ss = sArray1[1].Split(new string[] { "\"" }, StringSplitOptions.RemoveEmptyEntries)[0];
}
if (sArray2.Length > 1)
{
ss = sArray2[1].Split(new string[] { "\"" }, StringSplitOptions.RemoveEmptyEntries)[0];
}
if (ss == "KTX"|| ss == "35151"||ss== "39EC216E-7F52-F844-6116-E2AB4C4ED42C") {
request.ContentType = "application/json";
}
request.Timeout = 120 * 1000;
request.AllowAutoRedirect = true;
if (header != null)
{
request.Headers = header;
}
StreamWriter requestStream = null;
WebResponse response = null;
string responseStr = null;
try
{
requestStream = new StreamWriter(request.GetRequestStream());
requestStream.Write(param);
requestStream.Close();
response = request.GetResponse();
if (response != null)
{
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
responseStr = reader.ReadToEnd();
reader.Close();
}
}
catch (WebException ex)
{
try
{
HttpWebResponse responseError = (HttpWebResponse)ex.Response;
if (responseError != null)
{
using (Stream data = responseError.GetResponseStream())
{
using (StreamReader reader = new StreamReader(data))
{
string text = reader.ReadToEnd();
throw new Exception(text);
}
}
}
else
{
throw ex;
}
}
catch
{
throw ex;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
request = null;
requestStream = null;
response = null;
}
return responseStr;
}
HTTP Get POST方式请求数据
最新推荐文章于 2022-11-16 20:51:30 发布