Windows网络「SSL错误问题」及解决方案

文章目录

    • 问题
    • 方案

问题

当我们使用了神秘力量加持网络后,可能会和国内的镜像源网站的之间发生冲突,典型的有 Python 从网络中安装包,如执行 pip install pingouin 时,受网络影响导致无法完成安装的情况:

  • pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple,设置了清华源镜像用于全局下载包
  • SSL 错误 (SSLError(SSLEOFError(8, ‘EOF occurred in violation of protocol (_ssl.c:1123)’))),表明在尝试建立一个安全的 HTTPS 连接时遇到了一个问题。通常与 SSL 握手过程中的问题有关,可能是由于客户端和服务器之间的 SSL/TLS 版本或加密套件不兼容

方案

将需要访问的网络地址或域名加入到网络代理的白名单中即可解决。可以从神秘力量入手,也可以从 Windows 系统设置入手,神秘力量修改其代理规则即可(有时可能无效),Windows 系统设置手动修改编辑代理服务器即可(重启可能重置)。Windows 系统设置为例以如下图所示:
请添加图片描述
由于手动设置比较麻烦,这里提供一个 powershell 脚本「代理管理.ps1」自动处理以上步骤,如下所示:

# 关键的传入参数
param (
    [string]$action = "off",
    [string]$additionalBypassItems = "pypi.tuna.tsinghua.edu.cn",
    [switch]$help
)

# 示例帮助
function Display-Help {
    Write-Host "Usage of 代理管理.ps1:"
    Write-Host "    To enable proxy: 盘符:\具体路径\代理管理.ps1 -action 'on' -additionalBypassItems 'domain.com;172.100.*'"
    Write-Host "    To disable proxy: 盘符:\具体路径\代理管理.ps1 -action 'off'"
}

if ($help) {
    Display-Help
    return
}

# 注册表路径
$registryPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
Write-Host "default registryPath: $registryPath"

# 清楚代理
function Clear-Proxy {
    Set-ItemProperty -Path $registryPath -Name ProxyEnable -Value 0
    Remove-ItemProperty -Path $registryPath -Name ProxyServer -ErrorAction SilentlyContinue
    Remove-ItemProperty -Path $registryPath -Name ProxyOverride -ErrorAction SilentlyContinue
    Write-Host "Proxy disabled. ProxyEnable set 0, ProxyServer and ProxyOverride is remove."
}

if ($action -eq "off") {
    Clear-Proxy
    return
} elseif ($action -eq "on") {

} else {
    Write-Host "Invalid action. Use 'on' to enable or 'off' to disable the proxy."
}

# 代理服务器地址
$proxyServer = "127.0.0.1:7890"
Write-Host "default proxyServer: $proxyServer"

# 基本代理排除白名单(本地和内部网络的流量,用分号分隔各个条目)
$baseProxyBypassList = "localhost;127.*;10.*;172.16.*;172.17.*;172.18.*;172.19.*;172.20.*;172.21.*;172.22.*;172.23.*;172.24.*;172.25.*;172.26.*;172.27.*;172.28.*;172.29.*;172.30.*;172.31.*;192.168.*;127.0.0.1"
Write-Host "default baseProxyBypassList: $baseProxyBypassList"

# 宽泛的ip正确性校验
function IsValid-IPAddress($ip) {
    return $ip -match "^\d{1,3}(\.\d{1,3}|\.\*){0,3}(\.\*)?$"
}

# 宽泛的domain正确性校验
function IsValid-Domain($domain) {
    return $domain -match "^((?!-)[A-Za-z0-9-]{1,63}(?<!-)\.)+[A-Za-z]{2,6}$"
}

# 合并基本白名单和额外的白名单条目
$proxyBypassList = $baseProxyBypassList
if ($additionalBypassItems -ne "") {
    $items = $additionalBypassItems.Split(';')
    foreach ($item in $items) {
	$isIPValid = IsValid-IPAddress $item
    	$isDomainValid = IsValid-Domain $item
        if ($isIPValid -or $isDomainValid) {
            $proxyBypassList += ";" + $item
	    Write-Host "new additionalBypassItem: $item"
        } else {
            Write-Host "Invalid item: $item"
        }
    }
}

# 设置代理
function Set-Proxy {
    Set-ItemProperty -Path $registryPath -Name ProxyEnable -Value 1
    Set-ItemProperty -Path $registryPath -Name ProxyServer -Value $proxyServer
    Set-ItemProperty -Path $registryPath -Name ProxyOverride -Value $proxyBypassList
    Write-Host "Proxy enabled. ProxyEnable set 1, ProxyServer and ProxyOverride is set."
}

# 代理管理
if ($action -eq "on") {
    Set-Proxy
    return
} elseif ($action -eq "off") {

} else {
    Write-Host "Invalid action. Use 'on' to enable or 'off' to disable the proxy."
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/164139.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【飞控调试】DJIF450机架+Pixhawk6c mini+v1.13.3固件+好盈Platinium 40A电调无人机调试

1 背景 由于使用了一种新的航电设备组合&#xff0c;在调试无人机起飞的时候遇到了之前没有遇到的问题。之前用的飞控&#xff08;Pixhawk 6c&#xff09;和电调&#xff08;Hobbywing X-Rotor 40A&#xff09;&#xff0c;在QGC里按默认参数配置来基本就能平稳飞行&#xff0…

Nginx的核心配置文件

Nginx的核心配置文件 学习Nginx首先需要对它的核心配置文件有一定的认识&#xff0c;这个文件位于Nginx的安装目录/usr/local/nginx/conf目录下&#xff0c;名字为nginx.conf 详细配置&#xff0c;可以参考resources目录下的<<nginx配置中文详解.conf>> Nginx的核…

JavaScript实现飞机发射子弹详解(内含源码)

JavaScript实现飞机发射子弹 前言实现过程源码展示源码讲解HTML结构CSS结构js结构 前言 文本主要讲解如何利用JavaScript实现飞机发射子弹&#xff0c;实现过程以及源码讲解。实现效果图如下&#xff1a; 实现过程 首先&#xff0c;找到飞机和子弹的UI图&#xff0c;gif图最…

局域网内Ubuntu上搭建Git服务器

1.在局域网内选定一台Ubuntu电脑作为Git服务端&#xff1a; (1).新建用户如为fbc&#xff0c;执行如下命令&#xff1a;需设置密码&#xff0c;此为fbc sudo adduser fbc (2).切换到fbc用户&#xff1a;需密码&#xff0c;此前设置为fbc su fbc (3).建一个空目录作为仓…

Vue3-provide 和 inject 跨组件传递数据

Vue3-provide 和 inject 跨组件传递数据 功能&#xff1a;将数据从App组件跨过一个组件传递到B组件中provide&#xff1a;提供数据inject&#xff1a;接收数据 // App.vue <template><h2>我是App组件&#xff08;{{num}}&#xff09;</h2><A></A&g…

关于SPJ表的数据库作业

打字不易&#xff0c;且复制且珍惜 建表 use 库名;create table S( --供应商 SNO char(6) not null, SNAME char(10) not null, STATUS INT, CITY char(10), primary key(SNO));create table P( --零件 PNO char(6) not null, PNAME char(12)not null, COLOR char(4), WEIGHT…

如何在el-tree懒加载并且包含下级的情况下进行数据回显-02

上一篇文章如何在el-tree懒加载并且包含下级的情况下进行数据回显-01对于el-tree懒加载&#xff0c;包含下级的情况下&#xff0c;对于回显提出两种方案&#xff0c;第一种方案有一些难题无法解决&#xff0c;我们重点来说说第二种方案。 第二种方案是使用这个变量对其是否全选…

【C++】:模板的使用

目录 1、泛型编程 2、函数模板 2.1、函数模板概念 2.2、函数模板格式 2.3、函数模板的原理 2.4、函数模板的实例化 2.6、模板参数的匹配原则 3、类模板 3.1、 类模板的定义格式 3.2、 类模板的实例化 4、非类型模板参数 5、模板的特化 5.1、函数模板特化 5.2、类模…

达标进度条

1.效果 1. 2.代码与使用 1.自定义组合控件 kotlin import android.annotation.SuppressLint import android.content.Context import android.graphics.drawable.Drawable import android.util.AttributeSet import android.view.Gravity import android.view.LayoutInflat…

Triage沙箱监控

Triage沙箱可以免费分析恶意软件样本。最先进的恶意软件分析沙箱&#xff0c;具有您需要的所有功能。 在可定制的环境中提交大量样本&#xff0c;并对许多恶意软件系列进行检测和配置提取。立即查看公开报告并对您的恶意软件进行分类&#xff01; 官方网址&#xff1a;https:…

ARM CoreLink CCN 互连总线介绍

NIC NOC CCI CMN CNN NI cmn-700 nic-700 ni-700 MLGB这都是啥玩意? 后期博文或视频将会更新这一系列。今天先温习一下CNN的概念,这是来自2014年的文章,然后稍微整理总结一番。 以下是正文… 现代主流和优质 ARM 片上系统 (SoC) 产品使用 CoreLink 缓存一致性网络 (CCN) 504…

整理低秩的理解

秩的定义是矩阵中非零特征值的个数。比如一个NxN的矩阵&#xff0c;它的秩为r&#xff0c;r远小于N&#xff0c;我们可以说它是低秩的。 但还有另一种情况&#xff1a;这个矩阵的的秩接近N&#xff0c;但它的特征值大多数接近于0&#xff0c;只有少数几个特征值特别大&#xf…

Windows10 MYSQL Installer 安装(mysql-installer-community-5.7.19.0.msi)

分类 编程技术 1.进入官网找到自己所需的安装包&#xff1a;https://dev.mysql.com/ &#xff0c;路径&#xff1a;DOWNLOAD-->MYSQL Community Edition(GRL)-->MYSQL on Windows (Installer & Tool) 或直接点击 MySQL :: Download MySQL Installer 查看最新版本。…

安卓中轻量级数据存储方案分析探讨

轻量级数据存储功能通常用于保存应用的一些常用配置信息&#xff0c;并不适合需要存储大量数据和频繁改变数据的场景。应用的数据保存在文件中&#xff0c;这些文件可以持久化地存储在设备上。需要注意的是&#xff0c;应用访问的实例包含文件所有数据&#xff0c;这些数据会一…

【开源】基于Vue.js的在线课程教学系统的设计和实现

项目编号&#xff1a; S 014 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S014&#xff0c;文末获取源码。} 项目编号&#xff1a;S014&#xff0c;文末获取源码。 目录 一、摘要1.1 系统介绍1.2 项目录屏 二、研究内容2.1 课程类型管理模块2.2 课程管理模块2…

安卓源码-工程目录

1、程序启动配置及主要的权限声明 2、 界面渲染 3、 布局用 4、 常量等 5、 gradle构建

apply和call在Javascript中的使用与区别

apply和call在js中的使用与区别&#xff1a; 字符串格式化&#xff1a; ${占位符} name小帅 console.log(我是${name}) //我是小帅apply: 语法&#xff1a;function.apply(thisArg, [argsArray])thisArg&#xff1a;可选参数&#xff0c;指定函数执行时的上下文&#xff08…

国际知名商学院复旦大学EMBA荣登全球第8位,中文项目国内居首

2023年10月16日&#xff0c;英国《金融时报》&#xff08;FT&#xff09;发布全球EMBA项目排名。复旦大学EMBA位列全球8强&#xff0c;蝉联中文项目全球第一。学术研究、生源资历、商学院顾问委员会国际化程度、整体满意度等数个重要指标位列中文项目全球第 1位。    排名不…

ClientDateSet:Cannot perform this operation on a closed dataset

一、问题表现 Delphi 三层DataSnap&#xff0c;使用AlphaControls控件优化界面&#xff0c;一窗口编辑时&#xff0c;出现下列错误提示&#xff1a; 编译通过&#xff0c;该窗口中&#xff0c;重新显示数据&#xff0c;下图&#xff1a; 相关代码&#xff1a; procedure…

memset和bzero性能分析

首先&#xff0c;我们需要了解bzero和memset的功能。bzero是一个非标准函数&#xff0c;用于将一块内存区域的内容设置为0。它的原型如下&#xff1a;void *bzero(void *s, size_t n);其中&#xff0c;s是要设置的内存区域的起始地址&#xff0c;n是要设置的字节数。memset是一…