WinHttp.WinHttpRequest.5.1とvista64


でふぁいあんと  2008-11-30 03:45:15  No: 101385

お世話になっています。

ブラウザ画面にて
指定されたリンクをクリックしてcsvファイルをダウンロードするための
HTMLページがあります
これを自動化しようと考えwinXPSP1 + vb6 にて、

 Dim WinHttp As Object,byteWord() as byte
 Set WinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")

  WinHttp.Open "GET", "http://www.xxx.yyy/aaa.csv", False
  WinHttp.setRequestHeader --- 略  ---
  WinHttp.send
  byteWord = WinHttp.responseBody
  ---バイナリから、sjisへの変換コード

というプログラムを組んでいます。
winxp +vb6では、正常動作しているのですが、
vista64bit + vb6 では、同じコードで作成したテキストに文字化けが発生しています。

原因について何か心当たりがありますでしょうか。

(1)プログラムの他の部分で、http通信にてリダイレクトの処理が必要です。
そのためxmlhttpは使えないと考えています。
(ここの処理だけテスト的にCreateObject("MSXML2.XMLHTTP")を使用したところ)無事、テキストの取得ができました。

(2)webbrowserオブジェクトでもよいのですが、リンクをクリックする操作で
ダウンロードの確認ウィンドウを表示してしまい、自動処理ができません。

オプジェクトに特にこだわりはないので、(1),(2)について何か誤解している点があれば、その指摘でもかまいません。

よろしくお願いします。


やじゅ  2008-12-01 04:47:54  No: 101386

「vista 文字化け」で検索するといろいろ出てきます。

原因は違うかも知れませんが、一応
VistaとXPの間で起こる文字化けを回避する方法
http://coliss.com/articles/software/windows-vista/169.html


でふぁいあんと  2008-12-02 03:58:03  No: 101387

やじゅ様、ご返信ありがとうございます。
ご指摘いただいた文書は確認したのですが、
フォントの文字化けというよりは
文字列そのものがぐちゃぐちゃです。
ファイルの最初の文字列は、半角数字が続くのですが
それすらも化けます。
ちなみに
vista64,IE7にて、ブラウザにて指定URLを開き
ページ中のリンクをクリックしてダウンロードすると
正常に受信できるので
やはり
WinHTTPに問題があるのかなと思っています。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加