0

现在我想这很容易,但我无法让它工作。

我们在公司有一个 Mobile Iron MDM 系统,我有一个管理员帐户。我想要下载 App 图标,这些图标显示在 App lable 网站上。

我有所有图片的网址。

现在,当我打开浏览器 Windows 时,以管理员身份登录,打开第二个选项卡并输入图片 URL,它将显示图片。但是当我尝试在 VB 中做类似的事情时,我要么被拒绝访问,要么我下载了我被重定向到的登录页面的 HTML 源代码。

通过其 API 访问 Mobile Iron 时,在大多数情况下它将接受基本身份验证,但当调用变得相当复杂时,API 文档会显示使用用户名/密码而不是 base64 编码身份验证的卷曲行。

由于下面的评论,这里有更多数据。

登录页面的url是

https://emm.hettich.com/mifs/login.jsp 当然我不能在这里说明任何登录数据......

示例图片 URL 为 https://emm.hettich.com/mifs/admin/rest/api/v2/appstore/apps/115/images/b68b1ef8-363e-4056-b4c5-7a5a0628bbf5

这是我使用的代码:

Private Sub DownloadImage(url As String, saveFilename As String)
    Dim httpWebRequest = DirectCast(WebRequest.Create(url), HttpWebRequest)
    Dim httpWebResponse = DirectCast(httpWebRequest.GetResponse(), HttpWebResponse)
    Using stream = httpWebResponse.GetResponseStream()
        Using fileStream = File.OpenWrite(saveFilename)
            Dim bytes = New Byte(4095) {}
            Dim read = 0
            Do
                If stream Is Nothing Then
                    Continue Do
                End If
                read = stream.Read(bytes, 0, bytes.Length)
                fileStream.Write(bytes, 0, read)
            Loop While read <> 0
        End Using
    End Using
End Sub

此代码适用于来自网络的任何“不受保护”的图像(例如来自 Google 图片搜索或类似的图像)。但是当我使用上面提到的 url 时,我只会得到登录页面的 HTML,因为那是我被重定向到的地方。

4

0 回答 0