您的位置:首页 > 理论基础 > 计算机网络

后台HttpRequest访问https接口的方法

2017-03-23 09:44 211 查看
因为项目需要,写了一个后台调用https接口的方法,记录下来,以备后用:

1. 封装的访问方法

using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;

namespace Test
{
public class HttpsRequest
{
private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true;
}

public static string PostHttpsRequest(string url, Dictionary<string, string> parameters)
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
var request = WebRequest.Create(url) as HttpWebRequest;
request.ProtocolVersion = HttpVersion.Version10;
request.CookieContainer = new CookieContainer();
request.AllowAutoRedirect = true;
request.Timeout = 1000 * 60;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Referer = url;

if (!(parameters == null || parameters.Count == 0))
{
var param = "";
foreach (var key in parameters.Keys)
{
param += "&" + key + "=" + parameters[key];
}
using (var sw = new StreamWriter(request.GetRequestStream()))
{
sw.Write(param.Trim('&'));
sw.Close();
}
}
var res = request.GetResponse() as HttpWebResponse;
var st = res.GetResponseStream();
var sr = new StreamReader(st);
return sr.ReadToEnd();
}

}
}
2. 调用的例子
var parameters = new Dictionary<string, string>();
parameters.Add("aa", "ttt");
parameters.Add("bb", "tt");
parameters.Add("cc", "1");
parameters.Add("dd", "2");
var res = HttpsRequest.PostHttpsRequest("https://www.xxxxx.com/xxx/xxx", parameters);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  https 后台访问