110,536
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 发送http请求
/// </summary>
/// <param name="paras">请求参数</param>
/// <param name="serverID">出票服务器ID</param>
/// <returns>正常返回接口报文的xml字符串,否则返回空串</returns>
private static AutoRefundTickeResponseInfo SendHttpRequest(string url, string interfaceType, Encoding enc)
{
Stopwatch sw = new Stopwatch();
sw.Start();
AutoRefundTickeResponseInfo autoRefundTickeResponseInfo = new AutoRefundTickeResponseInfo();
if (interfaceType == "YS")
url = ComSecurity.UrlEncode(url, enc); ;
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "GET";
request.ContentType = "application/x-www-form-urlencoded";
request.KeepAlive = false;
request.Timeout = 90000;
string returnValue = "";
autoRefundTickeResponseInfo.IsRetry = false;
try
{
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
if (response != null)
{
using (System.IO.Stream responseStream = response.GetResponseStream())
{
using (System.IO.StreamReader reader = new System.IO.StreamReader(responseStream, enc))
{
returnValue = reader.ReadToEnd();
autoRefundTickeResponseInfo.Response = returnValue;
autoRefundTickeResponseInfo.IsRetry = false;
sw.Stop();
}
}
}
else
{
autoRefundTickeResponseInfo.IsRetry = true;
}
}
catch (TimeoutException te)
{
autoRefundTickeResponseInfo.Response = "请求超时";
autoRefundTickeResponseInfo.IsRetry = false;
LogManager.WriteException("Jinri.AutoTicket.RefundTicketBussiness.SendRequest.SendHttpRequest_TimeoutException", te, 886688);
}
catch (Exception ex)
{
autoRefundTickeResponseInfo.IsRetry = false;
LogManager.WriteException("Jinri.AutoTicket.RefundTicketBussiness.SendRequest.SendHttpRequest", ex, 886688);
}
return autoRefundTickeResponseInfo;
}