ProjectsForTest/DevTest-main/DevTest/HttpServer/WebClientEx.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Net.Security;
using System.Runtime.Serialization.Formatters.Binary;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;

namespace System.Net
{
    [ToolboxItem(false)]
    class WebClientEx : WebClient
    {
        private string _userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0";
        private string _acceptLanguage = "zh-CN,zh;";
        private bool _useCookie = true;
        public CookieContainer Cookies;
        private WebProxy _proxy;

        private int? _timeout;
        private int? _readWriteTimeout;
        private int? _continueTimeout;


        static WebClientEx()
        {
            ServicePointManager.ServerCertificateValidationCallback = ValidateServerCertificate;
        }
        private static bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
        {
            return true;
        }

        public WebClientEx()
        {
            Cookies = new CookieContainer();
        }

        protected override WebRequest GetWebRequest(Uri address)
        {
            if (address.IdnHost != address.Host)
            {
                var url = address.Scheme + "://" + address.IdnHost + address.PathAndQuery;
                address = new Uri(url);
            }

            if (address.ToString().StartsWith("https"))
            {
                Credentials = CredentialCache.DefaultNetworkCredentials;
                //ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls13;
                ServicePointManager.ServerCertificateValidationCallback = ValidateServerCertificate;
            }

            HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
            request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip | DecompressionMethods.Brotli;
            if (_useCookie) request.CookieContainer = Cookies;
            request.AllowAutoRedirect = true;
            if (_proxy != null) request.Proxy = this.Proxy;
            if (_timeout != null) request.Timeout = (int)_timeout * 1000;

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。