public class HttpRequestHelp
{
/// <summary>
/// 接口地址
/// </summary>
private string url;
/// <summary>
/// 超时时间 毫秒
/// </summary>
private int timeout;
/// <summary>
/// 请求方式,默认为POST
/// </summary>
private string method = "POST";
/// <summary>
/// 构造函数
/// 设置请求地址
/// <param name="url">请求地址</param>
/// <param name="method">请求方式</param>
/// </summary>
public InterFaceRequestHelp(string url, string method)
{
this.url = url;
this.method = method.ToUpper();
}
/// <summary>
/// 构造函数,设置超时时间,接口地址,请求方式
/// </summary>
/// <param name="timeout"></param>
/// <param name="method"></param>
/// <param name="url"></param>
public InterFaceRequestHelp(int timeout, string url, string method)
{
this.timeout = timeout;
this.url = url;
this.method = method.ToUpper();
}
/// <summary>
/// 创建请求,获取http应答
/// </summary>
/// <param name="postData">发送的数据</param>
/// <returns></returns>
private HttpWebResponse CreatePostHttpResponse(string postData)
{
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
if (timeout != 0)
{
request.Timeout = timeout;
}
request.Method = method;
request.ContentType = "application/json; charset=UTF-8";
request.KeepAlive = true;
request.Referer = null;
request.AllowAutoRedirect = true;
request.Accept = "*/*";
if(method.ToUpper()=="POST")
{
byte[] data = Encoding.UTF8.GetBytes(postData);
Stream newstream = request.GetRequestStream();
newstream.Write(data, 0, data.Length);
newstream.Close();
}
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
return response;
}
/// <summary>
/// 发起请求,获取返回的数据
/// </summary>
/// <param name="strTransData"></param>
/// <returns></returns>
public string RequestInterFace(string strTransData)
{
string result = string.Empty;
//获取响应对象
HttpWebResponse response = CreatePostHttpResponse(strTransData);
//提取相应数据流
Stream stream = response.GetResponseStream();
using (StreamReader reader = new StreamReader(stream))
{
result = reader.ReadToEnd();
}
return result;
}
/// <summary>
/// 设置请求的url
/// </summary>
/// <param name="url"></param>
public void SetUrl(string url)
{
this.url=url;
}
/// <summary>
/// 获取请求的url
/// </summary>
/// <returns></returns>
public string GetUrl()
{
return this.url;
}
/// <summary>
/// 设置请求方法
/// </summary>
/// <param name="method"></param>
public void SetMethod(string method)
{
this.method=method.ToUpper();
}
/// <summary>
/// 获取请求方法
/// </summary>
/// <returns></returns>
public string GetMethod()
{
return this.method.ToUpper();
}
}
1270

被折叠的 条评论
为什么被折叠?



