“无法打开插座”

2023-11-24

如何缓解我的网站上发生的“无法打开套接字”错误?

我遇到了麻烦,它是CAPTCHA(我在用着验证码)。它仅在我使用 reCAPTCHA 的两个页面上显示此错误。

我一直在生成新的密钥集,有时有效,有时无效。例如,它工作于Safari有时不是,但在Firefox,反之亦然,它对我有效,但对我的合作伙伴之一无效,反之亦然。

我该如何解决这个问题?难道是我的服务器在执行 fsocketopen 命令时遇到问题?如果是这样,我该如何解决这个问题?


难道是我的服务器在执行 fsocketopen 命令时遇到问题?

确实如此——尽管这并不一定意味着您的服务器有问题。这只是意味着您的服务器和验证码服务器之间的某个位置存在网络通信问题,导致套接字连接无法打开。

这可能有很多事情。这可能是您的代码或服务器上的配置问题(特别是如果服务器上的配置的某些方面是动态的),可能是服务器的连接级别问题,也可能是网络配置问题您的服务器托管的问题,可能是您的服务器和验证码服务器之间任何地方的网络配置问题,可能是它们托管的带宽问题,也可能是它们这边的配置问题。您可能想要使用额外的错误报告参数fsockopen看看您是否能收到任何有意义的消息。您还可以在完全不同网络上的至少 2-3 个不同服务器上尝试您的设置——这也可以为您提供有关问题所在的具体指示。

不过,另一个问题是你将如何处理这种事情。fsockopen只是有时无法建立连接,因为即使在配置最好的网络环境中,也没有通信保证。硬件故障、事故发生、网络管理员手足无措、远程服务器混乱、全球热核战争可能摧毁数据中心——你永远不知道。因此,您必须编写代码(并管理您的设置),以便在发生故障时有后备情况,并显示最终用户可以接受的错误消息。

您可能想研究一下 PHPset_error_handler函数并设置一个在出现以下情况时调用的函数fsockopen失败了。在某些情况下,我喜欢用它来触发异常,如下所示:

function throw_error_exception($number = 0, $str = '',$file = null,$line = null) {
   throw new ErrorException($str, 0, $number, $file, $line);
}

set_error_handler('throw_error_exception',E_ALL);

通过该设置,您可以管理fsockopen连接是这样的:

try {
   fsockopen('remote.host.com',8080,$fso_errnum,$fso_errstr,30);
} catch(Exception $e) {
   // here you can look at properties/methods of $e, and $fso_* values, and 
   // figure out what nice error messages you want to display for your users
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“无法打开插座” 的相关文章

  • 显示地址栏时的 100vh 高度 - Chrome Mobile

    I came across this problem a few times and was wondering if there was a solution to this problem My problem occurs on th
  • 如何获取 CSS 旋转元素的实际(非原始)高度

    我需要获取几个不同元素的实际高度 为了精确的自定义工具提示定位 并且其中一些元素 不是全部 被旋转 elem outerHeight 返回原始高度 而不是实际显示的高度 这是一个非常简单的例子 http jsfiddle net NPC42
  • 字符编码失败,为什么\xBD在PHP + HTML中显示不正确

    我只是想更好地理解字符编码 所以我做了一些测试 我有一个保存为 UTF 8 的 PHP 文件 如下所示 页面本身
  • 为什么音频自动播放在 Google Chrome 中不起作用?

    我正在尝试在页面刚刚打开时自动播放音频文件 我的浏览器是谷歌浏览器更新到最新版本 这是代码
  • 自动换行在 IE 中不起作用

    自动换行如下 The Breakage of Too Long Words div break word width 690px word wrap break word 确实包装了下表的单词 但它也使表格保持拉伸 我在表的这一部分中使用了
  • 如何使用 php 命令使注册表单高度安全?

    我想让代码对用户来说真正安全 下面的代码显示了 php 代码 我已将其用于我的网站 现在我已经使用了一些验证 例如密码和重复密码必须匹配 并且用户必须输入所有字段 为了使其更安全 我想插入安全命令 例如 PDO mysqli crypto
  • PHP:数据库连接类构造方法

    我是面向对象编程的新手 最初 我是在类内部和构造函数外部定义变量并为其赋值 但是在今天的 Java OOP 课程之后 我被告知这是不好的风格 应该避免 这是我模拟的原始 PHP 数据库连接类 class DatabaseConnection
  • 通过 wp_handle_upload 删除未放入上传文件夹中的图像

    我正在将图像保存到上传文件夹 但我正在使用文件放置内容 http php net manual en function file put contents php代替wp 句柄 上传 https codex wordpress org Fu
  • 更改导航栏悬停时 div 的背景图像

    我正在开发一个项目 我对 Javascript 很陌生 所以我想知道是否有 Jquery 代码或只是一个关于如何使背景图像在导航菜单悬停时更改的过程 例如将鼠标悬停在链接一上会将 div 的背景图像更改为图像 1 将鼠标悬停在链接二上会将
  • chrome 中的 Flexbox flex-flow 列换行错误?

    当使用列换行作为弹性流时 它似乎会对 chrome 中的容器尺寸造成问题 HTML 示例 div class root div class outer div class inner A div div class inner B div
  • 设置基于 PHP 定时器的函数

    我有一个 php 文件test php 我想要echo or print5 秒后 即在浏览器调用 加载或打开 php 文件后不久 成功 顺便说一句 有时我可能想在特定的时间间隔后执行 初始化某些函数 如何使用 php 执行面向时间的任务 例
  • 删除删除线的 unicode 文本?

    我偶尔会收到用户的输入 他们正在使用那些烦人的 stikethrough 文本生成器 这破坏了我的代码 我尝试过在这里找到的一些代码 string preg replace x00 x1F x80 xFF string 它有效 但我需要它只
  • PHP PDO:将数据作为对象获取 - 在调用 __construct 之前分配的属性。它是否正确?

    完整的问题应该是 这是正确的还是我不能指望的错误 为什么这是正确的行为 我一直在更多地使用 PDO 特别是直接将数据提取到对象中 在这样做的过程中我发现了这一点 如果我直接将数据获取到像这样的对象中 STH DBH gt prepare S
  • 使用 CSS 内容添加 HTML 实体

    你如何使用CSS content要添加的属性HTML实体 使用这样的东西只是打印 nbsp 到屏幕而不是不间断空格 breadcrumbs a before content nbsp 您必须使用转义的 unicode Like breadc
  • 打印html时在页面上打印页码

    我读过很多关于打印页码的网站 但当我尝试打印它时 我仍然无法让它显示在我的 html 页面上 所以 CSS 代码如下 page margin 10 top center font family sans serif font weight
  • (mysql, php) 如何在插入数据之前获取auto_increment字段值?

    我正在将图像文件上传到存储服务器 在上传之前 我应该编写文件名 其中包含自动增量值 例如 12345 filename jpg 在插入数据库之前如何获取自动增量值 我只看到一种解决方案 插入空行 获取其自增值 删除这一行 使用 p 1 中的
  • 为什么 foreach 这么慢?

    PHPBench com http www phpbench com 在每个页面加载上运行快速基准测试脚本 在 foreach 测试中 当我加载它时 foreach 的运行时间是第三个示例的 4 到 10 倍 为什么本机语言构造明显比执行逻
  • 使用 jQuery 将值发送到 $_GET

    我正在使用一个 PHP 脚本 该脚本正在通过 GET 等待两个值 我正在尝试使用 jQuery 传递这两个值 而这正是我不太擅长的地方 这是我得到的代码 有人能指出我正确的方向吗 谢谢 function xrate id rating aj
  • 在 Div 的两个顶角创建一个三角形,用边框划分

    通过遵循以下问题和答案 我能够在 div 的右上角获得一个三角形 Div 中的右上角三角形 https stackoverflow com questions 18531959 how to create triangle shape in
  • jquery .slideToggle() 水平替代方案?

    SlideToggle 正是我想要的 只是我希望幻灯片是水平的 我现在有一个水平隐藏 显示和点击动画 但我想要切换选项 这样 当我单击活动链接时 它将播放反向动画并隐藏自身 最好的方法是什么 您可以使用animate方法 element a

随机推荐

  • JavaScript 属性继承

    我正在尝试创建一个通用的 List 类 其中包含 属性 项目 这将是一个 无论什么 的数组 方法 Add 这将是抽象的并由特定的 List 对象实现 方法 Count 返回 项目 的数量 然后创建继承自 List 的子类 Class Lis
  • 支持多种屏幕尺寸 - Android

    我将在 Android 中开发新的应用程序 此应用程序只能在纵向模式下运行 即使对于平板电脑也是如此 此外 手机和平板电脑上的用户界面和布局设计应该相似 我们无法改变平板电脑的布局设计 因为它有很大的使用面积 我们必须拉伸所有图像以匹配手机
  • 权限处理的模式/设计建议

    我们的 ASP NET Web 应用程序中有一个相当复杂的权限处理系统 用户可以对不同类型的对象拥有特定的权限 某些权限甚至打包到分配给用户的组 角色中 总而言之 这最终会导致相当复杂的混乱 为了确定用户是否可以执行 查看某些内容 您必须评
  • 真随机数生成器[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 抱歉 这不是一个 真正的 问题 但我记得以前在这里看到过一篇关于随机随机化随机发生器以生成真正随机数的帖子 而不仅仅是伪随机数 如果我搜索它 我看不
  • 以编程方式确定 Excel 文件 (.xls) 是否包含宏

    有没有办法以编程方式确定 xls 是否包含宏 而无需在 Excel 中实际打开它 还有什么方法可以检查这些宏是用哪个证书 包括时间戳证书 签名的 再次不使用 Excel 我特别想知道当存在宏时 是否有任何字符串始终显示在 Excel 文件的
  • 在 Android 中取消已经打开的 toast

    我目前正在开始开发 Android 应用程序 并且一直在跟进本教程关于如何使用和改进 Google 地图应用程序 我已经成功地在屏幕上显示地图 触摸后我得到了一个位置的地址 通过反向地理编码 并显示了Toast 但这是我的问题 当您在地图上
  • 使用 DX10 的 D3D 图像

    是否可以将 DirectX 10 我正在使用 SlimDX 与 WPF 的 D3DImage 一起使用 我能找到的唯一示例和文档仅显示使用 DX9 表面 是的 您可以在 WPF 中通过 D3DImage 使用 DirectX 10 11 和
  • 使用 AJAX 获取 html 内容后向新元素添加侦听器的正确方法是什么? (jQuery、Javascript)

    我正在制作一些可以通过 AJAX 加载新设置页面的东西 我不确定将侦听器绑定到新内容页面中的这些元素的最有效方法是什么 这是我的想法 我可以创建一个比较文件路径的函数 对于每个条件 我将根据 AJAX 加载的页面将正确的侦听器应用于这些新元
  • 在 VS Code 终端(即 Windows Powershell)中编译时遇到问题

    当我右键单击 运行代码 并在用户设置中的终端中运行时 我收到这些错误 At line 1 char 63 c Users Josh Documents Programming Learning to Program g Exe The to
  • 如何在存储过程中调用C#函数

    SQL Server 2005 支持 CLR 因此这意味着我们可以在后端使用 CLR 那么如何做到这一点 我在 C 中有一些函数可以对日期时间变量进行一些复杂的操作 现在我想在 SP 中使用这些函数 首先 这是否可以做到 是的 可以在 SQ
  • 如何在 VBA 窗体上显示 Excel 的一部分

    我有一个 csv 格式的文件 从 A S 列 它有一些记录 例如表格 我的完整程序将插入 删除 删除 添加一些行 列和编辑单元格值等 我设法编写了我需要的所有操作的代码 现在我正在尝试将其与图形用户界面集成 我想要的是显示从 Ax1 到 V
  • 对 'GET_LIST' 的响应必须类似于 { data : [...] },但接收到的数据不是数组

    我正在尝试使用ra data simple rest 数据提供商 import React from react import Admin fetchUtils Resource from react admin import simple
  • Jenkins - 我如何将参数从上游传递到下游

    我有 3 个版本 A 是控制流程的主版本 B 另一个构建 C 将在B之后执行 我想向 A 添加一个字符串参数 以便用户手动输入一些字符串 但我不确定如何将此参数传递给 B 可以说这是我的构建流程 构建 B 构建 C 我不知道如何将参数传递给
  • 计算拦截向量

    我有 2 个对象 我将它们称为target and 拦截器 我知道目标的当前位置和速度 我知道拦截器的当前位置和飞行速度 由此 我现在需要知道的是 是否可能进行拦截 即同一时间点的同一位置 拦截弹需要沿着什么矢量飞行 拦截需要多长时间 即每
  • 在 SharedPreferences 中存储字符串数组

    我想知道是否可以在共享首选项中保存一个字符串数组 每次我们保存某个字符串时 我们都会将其存储在该数组中 例如 我有一个具有特定 ID 的位置列表 我想将其标记为收藏夹 理想的情况是 拥有一个数组并在该数组中保存某个位置 ID 我们称之为 L
  • Elixir:不同数量的函数重载

    有没有办法定义具有不同数量的重载函数 例如在 C 中我可以这样做 foo bar or foo bar baz 在 Elixir 中 唯一的方法是将它们放在单独的模块中 这很快就会变得混乱 有什么办法解决吗 编辑 我做了一个错误的假设 我看
  • std::atomic::notify_all 是如何排序的?

    我希望下面的程序不会挂起 如果在 1 中以相反的顺序观察 2 和 3 则可能会因丢失通知而挂起 include
  • 如何在 select2 jquery 中的标记中设置默认值

    我正在使用 select2 http ivaynberg github io select2 作为我的标记输入 从使用 select2 标记的示例中 代码如下所示 e12 select2 tags red green blue 现在我的问题
  • Python字符串模式识别/压缩

    我可以做基本的正则表达式 但这略有不同 即我不知道模式会是什么 例如 我有一个类似字符串的列表 lst asometxt0moretxt bsometxt1moretxt aasometxt10moretxt zzsometxt999mor
  • “无法打开插座”

    如何缓解我的网站上发生的 无法打开套接字 错误 我遇到了麻烦 它是CAPTCHA 我在用着验证码 它仅在我使用 reCAPTCHA 的两个页面上显示此错误 我一直在生成新的密钥集 有时有效 有时无效 例如 它工作于Safari有时不是 但在