У меня есть 5 zip-файлов, которые я хочу загрузить с веб-сайта.
http://download.companieshouse.gov.uk/BasicCompanyData-2015-02-01-part1_5.zip http://download.companieshouse.gov.uk/BasicCompanyData-2015-02-01-part2_5.zip http://download.companieshouse.gov.uk/BasicCompanyData-2015-02-01-part3_5.zip http://download.companieshouse.gov.uk/BasicCompanyData-2015-02-01-part4_5.zip http://download.companieshouse.gov.uk/BasicCompanyData-2015-02-01-part5_5.zip
Однако, если я использую следующий код, я получаю ошибку 404, которая, я думаю, является результатом удаления http:// при переходе на страницу в браузере, но не при использовании моего кода.
Try
Dim reg As String = """.*zip"""
Dim list As New List(Of String)()
Dim list2 As New List(Of String)()
Dim myRegex As New Regex(reg, RegexOptions.None)
TextBox1.Text = New System.Net.WebClient().DownloadString("http://download.companieshouse.gov.uk/en_output.html").ToLower
For Each myMatch As Match In myRegex.Matches(TextBox1.Text)
list.Add(myMatch.Value)
Next
Dim temp As String
For Each i In list
temp = i.Remove(0, 1)
temp = temp.Remove(temp.Length - 1, 1)
list2.Add(temp)
Next
Dim x As Integer = 1
For Each i In list2
Dim address As String = "http://download.companieshouse.gov.uk/" + i
Dim des As String = Application.StartupPath + "\" + x.ToString + ".zip"
Dim client As New System.Net.WebClient()
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)")
client.DownloadFile(address, des)
x = x + 1
Next
For i As Integer = 1 To x Step 1
Shell(Application.StartupPath + "\7za.exe e " + Application.StartupPath + "\" + x + ".zip")
Next
list.Clear()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Любые идеи?
* Обновление: я включил полный код вместо фрагмента.