带有 https 的奇尔卡特 HTTP

Chilkat HTTP with https

我目前正在使用带有 VB6 的 Chilkat HTTP ActiveX 控件(版本 9.3.2.0)...我从中下载文件的服务器之一正在切换到 https,但我无法让它工作...使用 http 它工作得很好,但是当我将 URL 更改为 https 时 returns 0.

这是 Http.LastErrorText 的结果:

ChilkatLog:
  Download:
    DllDate: Aug  5 2012
    UnlockPrefix: **********
    Username: BILL-DESKTOP:Bill
    Architecture: Little Endian; 32-bit
    Language: ActiveX
    VerboseLogging: 0
    backgroundThread: 0
    url: https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p25.pl?file=gfs.t12z.pgrb2.0p25.f000&lev_10_m_above_ground=on&lev_2_m_above_ground=on&lev_entire_atmosphere=on&lev_entire_atmosphere_%5C%28considered_as_a_single_layer%5C%29=on&lev_mean_sea_level=on&lev_surface=on&var_APCP=on&var_PRMSL=on&var_TCDC=on&var_TMP=on&var_UGRD=on&var_VGRD=on&leftlon=0&rightlon=360&toplat=90&bottomlat=-90&dir=%2Fgfs.2018120712
    toLocalPath: C:\Progra~1\PCGrADS\gfs\grib\gfs_pgrbf_000.grib2
    localFileAlreadyExists: 0
    QuickGetToOutput_Download:
      qGet_1:
        simpleHttpRequest_3:
          httpMethod: GET
          requestUrl: https://nomads.ncep.noaa.gov/cgi-bin/filter_gfs_0p25.pl?file=gfs.t12z.pgrb2.0p25.f000&lev_10_m_above_ground=on&lev_2_m_above_ground=on&lev_entire_atmosphere=on&lev_entire_atmosphere_%5C%28considered_as_a_single_layer%5C%29=on&lev_mean_sea_level=on&lev_surface=on&var_APCP=on&var_PRMSL=on&var_TCDC=on&var_TMP=on&var_UGRD=on&var_VGRD=on&leftlon=0&rightlon=360&toplat=90&bottomlat=-90&dir=%2Fgfs.2018120712
          Connecting to web server...
          httpServer: nomads.ncep.noaa.gov
          port: 443
          Using HTTPS.
          ConnectTimeoutMs_1: 10000
          calling ConnectSocket2
          IPV6 enabled connect with NO heartbeat.
          connectingTo: nomads.ncep.noaa.gov
          dnsCacheLookup: nomads.ncep.noaa.gov
          Resolving domain name (IPV4)
          GetHostByNameHB_ipv4: Elapsed time: 140 millisec
          myIP_1: 192.168.1.38
          myPort_1: 55564
          connect successful (1)
          clientHelloMajorMinorVersion: 3.1
          buildClientHello:
            majorVersion: 3
            minorVersion: 1
            numRandomBytes: 32
            sessionIdSize: 0
            numCipherSuites: 10
            numCompressionMethods: 1
          --buildClientHello
          TlsAlert:
            level: fatal
            descrip: handshake failure
          --TlsAlert
          Closing connection in response to fatal error.
          Failed to read incoming handshake messages. (1)
          Client handshake failed. (3)
          Failed to connect to HTTP server.
          connectElapsedMs: 640
        --simpleHttpRequest_3
      --qGet_1
    --QuickGetToOutput_Download
    bFileDeleted: 1
    totalElapsedMs: 672
    ContentLength: 0
    Failed.
  --Download
--ChilkatLog

我做错了什么?

此致,

比尔

您使用的是 2012 年的旧版本,该版本尚未实现 TLS 1.2。 Chilkat 已经添加了对 TLS 1.2 的支持(多年来),最新版本应该可以正常工作。