http请求使用RestSharp类库,代码如下:
private string Http(string url, Method method, object data, ref List<RestResponseCookie> rcookie)
{
var client = new RestClient(url);
var request = new RestRequest(method);
rcookie.ForEach(item =>
{
request.AddCookie(item.Name, item.Value);
});
//request.AddHeader("postman-token", "4722e24d-1bee-9078-69ff-bbe3f05e6db3");
request.AddHeader("Accept-Language", "zh-cn");
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Content-Type", "application/json;charset=UTF-8");
if (data.IsNotNull()) request.AddParameter("application/json", JsonConvert.SerializeObject(data), ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
if (response.ErrorMessage.IsNotNullOrWhiteSpace())
{
_log.Error("地址:{0},请求失败:{1}".FormatWith(url, response.ErrorMessage));
}
if (response.Content.Contains("无法找到资源") || response.Content.Contains("服务器错误"))
{
_log.Error("地址:{0},请求失败:{1}".FormatWith(url, "无法找到资源/服务器错误"));
}
if (response.Cookies.Count > 0)
{
var cookieNow = response.Cookies as List<RestResponseCookie>;
rcookie = cookieNow;
}
return response.Content;
}
文章评论