读取网页时遇到“ERR_CONNECTION_CLOSED”

在读取网页时遇到了“ERR_CONNECTION_CLOSED”的错误,在此记录下可能的解决方案


前言

ERR_CONNECTION_CLOSED 错误表示从计算机到网站的连接出现问题,而不是网站本身出现问题。由于 Chrome 无法连接到该网站的服务器,因此 Chrome 无法呈现该网站。
下面给出一些解决方向


一、检查网络连接

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、检查防火墙设置或杀毒软件

三、使用虚拟专用网络(VPN)

有时候vpn服务能够绕过一些限制

四、禁用VPN或代理服务器

如果出现错误的时候正巧使用着vpn,可能是vpn连接不上该网址,可以试着关闭vpn服务

五、 缓存导致的错误

1、刷新 DNS 缓存

因为可能dns中存储的ip地址已经失效。刷新计算机的 DNS 缓存后,您还应该通过在 Chrome 浏览器栏中输入以下地址来刷新 Chrome 浏览器的 DNS 缓存:chrome://net-internals/#dns,然后单击按钮以清除主机缓存

2、 清除浏览器缓存

要清除 Chrome 浏览器缓存,请在您的 Chrome 浏览器栏中输入以下地址:chrome://settings/privacy,然后单击清除浏览数据选项。

六、Chrome 扩展程序导致错误

某些Chrome 扩展程序可能会以某种方式干扰连接,从而无意中触发 ERR_CONNECTION_CLOSED 消息。

七、 Chrome 版本的兼容性

如果使用的是旧版 Chrome,这可能会通过某种类型的兼容性或配置问题触发 ERR_CONNECTION_CLOSED 消息,可以更新或者重装

八、 电脑病毒

有可能电脑上有病毒,干扰了连接


总结

有时候这些错误是暂时的,过会儿看就能连接上了也不一定

参考资料

这篇文章介绍得更仔细:https://kinsta.com/knowledgebase/err_connection_closed/
点击查看

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
下面是一个基于阻塞模型的SSL连接读取应用数据的示例代码,使用了select函数来检测是否有可读数据和是否有未处理的SSL数据: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <unistd.h> #include <netdb.h> #include <errno.h> #include <openssl/ssl.h> #include <openssl/err.h> #define SERVER_ADDR "127.0.0.1" #define SERVER_PORT 8080 int main(int argc, char **argv) { int sockfd, ret; struct sockaddr_in server_addr; char buf[1024]; fd_set rfds; struct timeval tv; SSL_CTX *ctx; SSL *ssl; // 创建socket sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd < 0) { perror("socket"); return -1; } // 设置服务器地址 memset(&server_addr, 0, sizeof(server_addr)); server_addr.sin_family = AF_INET; server_addr.sin_addr.s_addr = inet_addr(SERVER_ADDR); server_addr.sin_port = htons(SERVER_PORT); // 连接服务器 ret = connect(sockfd, (struct sockaddr *)&server_addr, sizeof(server_addr)); if (ret < 0) { perror("connect"); return -1; } // 初始化SSL SSL_library_init(); ctx = SSL_CTX_new(SSLv23_client_method()); if (ctx == NULL) { perror("SSL_CTX_new"); return -1; } ssl = SSL_new(ctx); SSL_set_fd(ssl, sockfd); SSL_connect(ssl); // 从服务器读取数据并发送应答 while (1) { FD_ZERO(&rfds); FD_SET(sockfd, &rfds); tv.tv_sec = 5; tv.tv_usec = 0; ret = select(sockfd + 1, &rfds, NULL, NULL, &tv); if (ret < 0) { perror("select"); break; } else if (ret == 0) { printf("timeout\n"); continue; } else { if (FD_ISSET(sockfd, &rfds)) { ret = SSL_read(ssl, buf, sizeof(buf)); if (ret < 0) { perror("SSL_read"); break; } else if (ret == 0) { printf("connection closed by server\n"); break; } else { // 处理收到的数据 printf("received %d bytes: %.*s\n", ret, ret, buf); // 发送应答数据 SSL_write(ssl, "ACK", 3); } } } } // 关闭SSL连接 SSL_shutdown(ssl); SSL_free(ssl); SSL_CTX_free(ctx); // 关闭socket close(sockfd); return 0; } ``` 这个示例代码中使用了select函数来等待可读数据,然后使用SSL_read函数读取SSL数据,如果有未处理的SSL数据,就使用ssl_pending函数来检测。如果读取成功,则对收到的数据进行处理,并使用SSL_write函数发送应答数据。如果发生错误,就退出循环并关闭SSL连接和socket。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虫本初阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值