VBA-MSXML2.XMLHTTP-在GITHUB上传递凭据

问题描述 投票:0回答:1

希望你们一切都很好。我设法编写了进入此页面的方式:“ https://github.com/decaf-emu/decaf-emu/actions/runs/2458383

问题是,我需要登录后才能在github上查看可下载的工件href(url)。

我已经尝试过提议的替代方法,例如

With xmlhttp
.Open "GET", URL2, False, "USERNAME", "PASSWORD"
.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) Chrome/39.0.2171.71"
.Send

 html.body.innerHTML = .responseText
End With

..以及其他许多科学怪人的变种,都没有成功。

至此,我真的很困惑如何获取GITHUB,让我提取文件的下载URL。全局代码如下所示:使用库MICROSOFT XML6,MICROSOFT HTML对象

Sub TESTER()
    Dim URL1 As String, URL2 As String, TAG As String, ID As String, LastRow As Integer, j As Long, ID2 As String
    Dim html As HTMLDocument, xmlhttp As Object, i As Long, k As Long, S1 As Long, S2 As Long, S3 As Long, S4 As Long
    Dim list5 As Object, list6 As Object, list7 As Object, list8 As Object


                URL2 = "https://github.com/decaf-emu/decaf-emu/actions/runs/2458383"
                ID2 = "text-bold"


Set xmlhttp = Create
Set xmlhttp = New MSXML2.XMLHTTP60
            Set html = New HTMLDocument

            With xmlhttp
                .Open "GET", URL2, False 'username/password credentials?
                .setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) Chrome/39.0.2171.71"
                .Send

                html.body.innerHTML = .responseText
            End With

            Set list5 = html.getElementsByClassName(ID2)
            Set list6 = html.getElementsByTagName(ID2)
            Set list7 = html.documentgetelementsbytagname(ID2)
            Set list8 = html.querySelectorAll(ID2)

            For i = 1 To 100
                With ActiveSheet
                .Cells(1, i) = list5.Item(i).href
                .Cells(2, i) = list6.Item(i).href
                .Cells(3, i) = list7.Item(i).href
                .Cells(4, i ) = list8.Item(i).href
                End With

最终结果应为粘贴/ msgbox“ https://github.com/decaf-emu/decaf-emu/suites/379721547/artifacts/897163

没有人能帮助我解决这些证书问题,以便能够下载它吗?谢谢您的时间!

excel vba github credentials msxml
1个回答
0
投票

尝试

With xmlhttp
    .Open "GET", URL2, False 'username/password credentials?
    .setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) Chrome/39.0.2171.71"
    .setRequestHeader "Authorization","Basic " & Base64Encode("User:Password")

Base64Encode例程可以找到herehttps://www.base64encode.net/等在线工具。

© www.soinside.com 2019 - 2024. All rights reserved.