タグ:

Web上のファイルをダウンロードする

サンプルコード

System.Text.RegularExpressions
System.IO
System.Net

Sub Main()
  Dim pdf_Url As String = "<PDFのURL>"
  Dim Local_Path As String = "<保存先のパス>"

  'HttpWebRequestの作成
  Dim webreq As System.Net.WebRequest = System.Net.WebRequest.Create(pdf_Url)
  Dim webres As System.Net.WebResponse = webreq.GetResponse()

  '応答データを受信するためのStreamを取得
  Dim st As System.IO.Stream = webres.GetResponseStream()
  Dim br As New System.IO.BinaryReader(st)
  Dim bw As New IO.BinaryWriter(File.Open(Local_Path, FileMode.Create))

  Try
    Do Until 1 = 2
      bw.Write(br.ReadByte)
    Loop
  Catch ex As Exception 
  End Try

  bw.Close()
  br.Close()
End Sub

サーバーからのレスポンスを一度、BinaryStraemに入れます。それを読み込んでBinaryWriterで書き込んでいけばよいだけですが、GetResponseStreamメゾットから作成したStreamでは、末尾を取得することはできません。←私だけかもorz

そこで、無理やりですが無限ループを作って、"1Byte読み込んで、1Byte書き込む"をエラーが発生するまで繰り返してあげます。