110,538
社区成员
发帖
与我相关
我的任务
分享
public bool GetHttpsRequestStr(string sFunName, string sMethod, string sRequestData)
{
try
{
retJsonStr = "";
retErrMsg = "";
Uri address = new Uri("https://" + httpIP + ":" + httpPort.ToString() + "/" + sFunName);
StringBuilder content = new StringBuilder();
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
// 与指定URL创建HTTP请求
//HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://" + httpIP + Url + sFunName);
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
//创建证书文件
X509Certificate objx509 = new X509Certificate(https_crt);
//添加到请求里
request.ClientCertificates.Add(objx509);
string usernamePassword = username + ":" + password;
CredentialCache mycache = new CredentialCache();
mycache.Add(address, "Basic", new NetworkCredential(username, password));
request.Credentials = mycache;
//Header验证数据
request.Referer = header_Referer;
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(usernamePassword)));
request.Headers["x-Site-ID"] = header_x_Site_ID;
request.Headers["x-Terminal-ID"] = header_x_Terminal_ID;
request.Headers["x-Signature"] = header_x_Signature;
request.UserAgent = "User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1";
request.KeepAlive = true;
request.Method = sMethod;
request.ContentType = ContentType;
//发送body数据
if (sRequestData.Trim() != "")
{
byte[] byteData = UTF8Encoding.UTF8.GetBytes(sRequestData);
request.ContentLength = byteData.Length;
using (Stream postStream = request.GetRequestStream())
{
postStream.Write(byteData, 0, byteData.Length);
}
}
//获得请求返回
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
retJsonStr = reader.ReadToEnd();
return true;
}
}
catch (Exception ex)
{
retErrMsg=ex.Message.ToString();
return false;
}
}