Golang http客户端握手失败

2023-12-28

尝试获取网页:

    tr := &http.Transport{
        TLSHandshakeTimeout: 30 * time.Second,
        DisableKeepAlives: true,
    }

    client := &http.Client{Transport: tr}

    req, err := http.NewRequest("GET", "https://www.fl.ru/", nil)
    if err != nil {
        log.Fatalf("%s\n", err);
    }

    resp, err := client.Do(req);
    if err != nil {
        log.Fatalf("%s\n", err);
    }
    defer resp.Body.Close()

Get https://www.fl.ru/ https://www.fl.ru/:远程错误:握手失败。

如果我尝试获取另一个 HTTPS 页面 - 一切正常。


该服务器仅支持一些弱密码:

TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x39)   DH 1024 bits (p: 128, g: 1, Ys: 128)   FS   WEAK
TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x33)   DH 1024 bits (p: 128, g: 1, Ys: 128)   FS   WEAK
TLS_RSA_WITH_RC4_128_SHA (0x5)   WEAK

如果您确实必须连接到该服务器,Go 确实支持列表中的最后一个密码,但默认情况下不支持。使用新的 tls.Config 创建一个客户端,指定您想要的密码:

t := &http.Transport{
    Proxy: http.ProxyFromEnvironment,
    Dial: (&net.Dialer{
        Timeout:   30 * time.Second,
        KeepAlive: 30 * time.Second,
    }).Dial,
    TLSHandshakeTimeout: 10 * time.Second,
    TLSClientConfig: &tls.Config{
        CipherSuites: []uint16{tls.TLS_RSA_WITH_RC4_128_SHA},
    },
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Golang http客户端握手失败 的相关文章

随机推荐

  • Java - 泛型类型 - 类型擦除

    我在oracle网站上找到了以下问题和答案 类型擦除后以下类转换为什么 public class Pair
  • 如何让 OData DELETE 工作?

    我创建了一个 OData 服务 WCF 数据服务 和一个使用者来测试它 以前 当我尝试删除时 收到 WebDAV 405 错误消息 不允许使用方法 所以我用谷歌搜索并发现 http nikhilthaker86 wordpress com
  • 所有 .com 和 .net whois 服务器的列表?

    我正在尝试查找 COM NET 的所有 whois 服务器的列表 威瑞信是 com net name cc 和 tv 域的权威注册机构 可能的解决方案 要找出完整的 whois 服务器列表 需要使用 com 区域文件中的域列表爬取至少一百万
  • PDO 错误:SQLSTATE[HY000]:一般错误:2031

    我遇到了这个恼人的错误 尽管我知道为什么会出现这个错误 但我一生都找不到解决方案 if limit sth gt bindValue page page 1 PDO PARAM INT sth gt bindValue entries pe
  • grails 中的通用方法拦截(特别是控制器)

    我正在尝试在 grails 中创建一个通用函数 它允许我指定类和函数名称 并根据该条件拦截任何函数调用 getSomeClass metaClass invokeMethod String methodName args gt MetaMe
  • 元组对,使用 python 查找最小值

    我想找到按给定列排序的元组列表的最小值 例如 我有一些数据排列为二元组列表 data 1 7 57 2 2 1 3 1 2 4 2 1 5 0 01 6 0 5 7 0 2 8 0 6 如何通过仅比较元组中的第二个数字来找到数据集的最小值
  • 在最后一个选项卡上提交后如何将 primefaces 向导重定向到第一个选项卡

    我正在使用 primefaces 3 2 我已经准备好了向导 可以在数据表的同一页面上插入用户信息 向导逐个选项卡获取信息并在确认选项卡上提交 它还将反映在数据表的同一页面上 它运行良好 现在我需要更新多个用户 为此 我必须将向导从提交按钮
  • 如何通过 Azure 批处理和数据工厂使用 Azure Analysis Services 进行身份验证

    我有一个 c Sharp 类库 它使用 AMO 库连接到 Azure Analysis Services 我想将其用作数据工厂管道的一部分来刷新多维数据集分区 这是通过 Azure 批处理作为自定义 net 活动完成的 var server
  • 为什么恰好一次语义不可行?

    在 Erlang 希望最好的 RPC 语义中 SUN RPC 具有至少一次 Java RMI 具有最多一次 但没有人拥有恰好一次语义 为什么拥有一次语义似乎不可行 例如 如果客户端不断重新发送唯一标记的请求 直到收到答复 并且服务器会跟踪所
  • 如何在OSX下使用brew安装opencv2

    最近 我使用以下命令安装了opencv brew install opencv 我发现opencv3安装在目录中 usr include and usr lib 但我想要的是opencv2 如何安装opencv2brew命令 找到答案的最简
  • 编程中的削减有那么糟糕吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 这学期我正在学习人工智能课程 其中我们学习 Prolog 我们的讲师告诉我们要尽量避免在作业中使用删减 但是 对于一些问题我似乎无法避免使用它们
  • Fgets 错误 段错误

    是否有任何原因导致较早编译的程序因 fgets 而在某个点出现段错误 我根本没有更改任何与之相关的代码 突然我相信它无法打开文件 但我像十五分钟前一样用该文件测试了它 我所做的只是添加了搜索功能 所以我不明白问题是什么 它可能是我通过 Pu
  • 在c#中将JSON列表解析为int数组

    我在将 JSON 数字列表读入 c int 数组时遇到问题 我已经尝试过 SO 的一些建议 但没有一个有效 我该如何使用 JSON net 来解决这个问题 从 JSON 文件中提取 course Norsk grades 6 3 5 6 2
  • Pandas 按组聚合排序

    我已经看过了这个问题 https stackoverflow com questions 14941366 pandas sort by group aggregate and column 但期望的结果与我的略有不同 想象一下这样分组的数
  • Visual Studio .net 2003 Web 组件上的 Asp.net 问题

    我想在 VS 2003 上运行 ASP NET 但它会引发一个错误 Visual Studio 检测到 Web 服务器正在运行 asp net 版本 1 0 您正在创建或打开的Web应用程序可以配置为与asp net 1 0兼容 但是 We
  • 如何在 gcc4.9 中设置 GCC_COLORS 来发出着色诊断消息?

    gcc4 https gcc gnu org gcc 4 9 changes html 9 支持编译器警告 错误消息的着色诊断 我们可以使用选项 为特定程序启用它 fdiagnostics color目前我正在使用 gcc4 9 1 并且我
  • 无法解析 jaxb-xjc-2.2.5-2.jar 中的名称“xjc:globalJavaType”

    Maven项目 转移到另一台PC后出现错误 为什么 INFO jaxb2 generate execution default cli INFO ERROR FATAL ERROR INFO INFO org xml sax SAXPars
  • Databricks:SQL 查询的等效代码

    我正在寻找查询的等效数据块代码 我添加了一些示例代码和预期的代码 但特别是我正在 Databricks 中寻找等效的代码query 目前我陷入了 交叉应用字符串分割 部分 SQL 数据示例 CREATE TABLE FactTurnover
  • Playframework 2 - 为任何操作设置会话变量

    我需要所有请求的调用方法 我尝试过 object Global extends GlobalSettings override def onRouteRequest request RequestHeader Option Handler
  • Golang http客户端握手失败

    尝试获取网页 tr http Transport TLSHandshakeTimeout 30 time Second DisableKeepAlives true client http Client Transport tr req e