如何在 WinHTTP VBA 中禁用 SSL 证书验证 - 自动化错误

问题描述

我正在尝试使用 VBA 中的 HTTP 请求抓取 this 页面。 以下代码自动错误而失败:

运行时错误 -2147012711 (80072f99) 自动错误

   const pickImage = async (
        cb: dispatch<React.SetStateAction<string>>,cbv: dispatch<React.SetStateAction<boolean>>
    ) => {
        try {
            const result = await ImagePicker.launchImageLibraryAsync({
                mediaTypes: ImagePicker.MediaTypeOptions.Images,quality: 1,});

            if (!result.cancelled) {
                const fileSize = await checkFileSize(result.uri);
                if (fileSize.size && fileSize.size < 2000000) {
                    cb(result.uri);
                    cbv(true);
                } else {
                    throw new Error();
                }
            }
        } catch (err) {
            Alert.alert(
                i18n.t('failure'),i18n.t('imageSizetooBig'),[{ text: 'OK' }],{ cancelable: false }
            );
        }
    };

当启用 Sub test() Dim req As New WinHttpRequest Dim body As String,url As String Dim sht As Worksheet Dim resp As Object url = "https://auctions.seecao.com/api/DailyAuction/GetDailyAuctionList" body = "{""parameters"":{""dayFrom"":""2021-05-12"",""dayTill"":""2021-05-12"",""auctionState"":[0,3,4,5,6,7,9]}}" With req .Open "POST",url,False .setRequestHeader "Content-Type","application/json" .Option(WinHttpRequestOption_SslErrorIgnoreFlags) = 13056 '&H3300 .send body Debug.Print .responseText End With End Sub 时,完全相同的请求在 POSTMAN 中失败。禁用此选项后,请求工作正常。

有没有办法在 VBA 中使用 SSL certificate verification 或其他一些库禁用 SSL certificate verification

附言

  1. 这个WinHTTP Services 工作了几个星期,然后突然停止了。
  2. 网页使用 TLSv1.3。这很重要吗?

有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)