Utils/HttpUtils.cs
(开头部分) 8KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using AppManager.Config;
using System;
using System.IO;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Text;
namespace AppManager.Utils {
/// <summary>
/// Http请求工具类
/// Get和Post方法
///
/// </summary>
internal static class HttpUtils {
public const string TypeGet = WebRequestMethods.Http.Get;
public const string TypePost = WebRequestMethods.Http.Post;
public const string Http = "http://";
public const string Https = "https://";
private const string DEFAULT_USER_AGENT = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
public const string ContentTypeFormData = "multipart/form-data";
public const string ContentTypeFormUrlencoded = "application/x-www-form-urlencoded;charset=utf-8";
public const string ContentTypeJson = "application/json";
public const string ContentTypeText = "text/plain";
public const string ContentTypeJavascript = "application/javascript";
public const string ContentTypeHtml = "text/html";
public const string ContentTypeXml = "application/xml";
/// <summary>
/// 创建Http请求,可用于后续的异步或同步操作
/// </summary>
/// <param name="url"></param>
/// <param name="type">post或get</param>
/// <param name="data">Post时的数据,Get无效</param>
/// <param name="contentType"></param>
/// <param name="timeout">超时</param>
/// <returns></returns>
public static HttpWebRequest HttpRequest(string url, string type, string data, string contentType, int timeout) {
HttpWebRequest request = null;
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase)) {
// 这里设置了协议类型。把SSL验证的设置写到HttpRequect创建之前
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
ServicePointManager.CheckCertificateRevocationList = true;
ServicePointManager.DefaultConnectionLimit = 100;
ServicePointManager.Expect100Continue = true;
request = WebRequest.Create(url) as HttpWebRequest;
} else {
request = (HttpWebRequest)WebRequest.Create(url);
}
request.ContentType = string.IsNullOrEmpty(contentType) ? ContentTypeJson : contentType;
request.UserAgent = DEFAULT_USER_AGENT;
request.Method = type;
request.KeepAlive = false;
request.Timeout = timeout;
// request.ReadWriteTimeout = timeout;
if (WebRequestMethods.Http.Post.ToLower().Equals(type.ToLower())) {
后面还有 130 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。