###前提・実現したいこと
VB.NetでWebシステムとのhttpによるデータ連携を考えております。
データ自体は単純なCSVファイルで、特定のフォルダにあるCSVを取得します。
調査段階なので、Webシステム側のサーバー設定等は全く行っておりません。
サーバー側の設定は問題ないという前提で、教えて頂ければ幸いです。
###発生している問題・エラーメッセージ
エラー自体は発生していないのですが、レスポンスで返ってくるデータが
CSVファイルではなく、htmlが返ってきてしまいます。
おそらく、CSVファイルに到達する前のログイン画面のhtmlが取得されているのだと思います。
サーバーへログイン認証後、特定のフォルダからデータを取得するという流れはどのようにすればよいのでしょうか?
###該当のソースコード
VB.Net
1Dim destPath As String = "出力ファイル名" 2Dim url As String = "取得したいCSVデータのファイルパス" 3 4'リクエストの作成 5Dim webReq As HttpWebRequest = DirectCast(WebRequest.Create(url),HttpWebRequest) 6 7'レスポンスの取得 8Dim webRes As HttpWebResponse = DirectCast(webReq.GetResponse(),HttpWebResponse) 9 10 11'ファイル出力 12 Dim st As System.IO.Stream = webRes.GetResponseStream() 13 Dim sr As New System.IO.StreamReader(st, System.Text.Encoding.UTF8) 14 Dim sw As New IO.StreamWriter(destPath, False, System.Text.Encoding.UTF8) 15 sw.Write(sr.ReadToEnd) 16 sw.Close() 17
###試したこと
上記を実行すると、ログイン認証画面のhtmlが取得されてしまうので、上記ソースコードの
「リクエストの作成」「レスポンスの取得」の間に下記のような認証を追加し、
urlも「"取得したいCSVデータのファイルパス"」ではなく「"ログイン画面のパス"」に変更しました。
ですが、仮にこれで認証が成功したとして、この後、実際にファイルを取得する処理は
どのようにコーディングすればよいのでしょうか?
webReq.Credentials = New NetworkCredential("ユーザー名", "パスワード")
###補足情報(言語/FW/ツール等のバージョンなど)
言語:VB.Net
回答1件
あなたの回答
tips
プレビュー