Chilkat HTTP与https

3
我目前在使用Chilkat HTTP ActiveX控件(版本9.3.2.0)和VB6… 我从其中一个服务器下载文件,但该服务器正在切换到https,但我无法使其正常工作… 使用http可以完美地工作,但当我将URL更改为https时,它返回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

我做错了什么?

敬礼,

比尔


我猜想,如果控件嵌入自己的TLS密码套件而不是使用Windows提供的密码套件,则该控件可能未使用当前的TLS密码套件。 - Bob77
1个回答

3

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


谢谢Matt...我已经升级到最新版本,现在它完美地工作了! - billreilly
1
@billreilly,你应该考虑接受这个答案,因为它似乎解决了你的问题。 - StayOnTarget
DaveInCaz 我回复了Matt并告诉他现在它完美工作。 - billreilly

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接