现在我想这很容易,但我无法让它工作。
我们在公司有一个 Mobile Iron MDM 系统,我有一个管理员帐户。我想要下载 App 图标,这些图标显示在 App lable 网站上。
我有所有图片的网址。
现在,当我打开浏览器 Windows 时,以管理员身份登录,打开第二个选项卡并输入图片 URL,它将显示图片。但是当我尝试在 VB 中做类似的事情时,我要么被拒绝访问,要么我下载了我被重定向到的登录页面的 HTML 源代码。
通过其 API 访问 Mobile Iron 时,在大多数情况下它将接受基本身份验证,但当调用变得相当复杂时,API 文档会显示使用用户名/密码而不是 base64 编码身份验证的卷曲行。
由于下面的评论,这里有更多数据。
登录页面的url是
https://emm.hettich.com/mifs/login.jsp 当然我不能在这里说明任何登录数据......
这是我使用的代码:
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,因为那是我被重定向到的地方。