WinInet.dll を使用して PHPファイルをダウンロードするには?

解決


夢羽  2009-07-10 02:27:02  No: 142194  IP: 192.*.*.*

WinInet.dll の機能を使用して、Web上のファイルをダウンロードするプログラムに挑戦中です。
*.HTML/*.JPG/*.ZIP 等のファイルは、問題なくダウンロードできるのですが、*.PHP ファイルはうまくダウンロードできません。
InternetConnect または、InternetOpenUrlで、「ERROR_FILE_NOT_FOUND  2(0x2)  The system cannot find the file specified.」のエラーになってしまいます。
*.PHP ファイルは、*.HTML/*.JPG/*.ZIP 等のファイルと同じ様には扱えないのでしょうか。
何か、設定のポイントがあるのであれば、ご教授ください。
よろしくお願いいたします。

編集 削除
夢羽  2009-07-10 02:38:48  No: 142195  IP: 192.*.*.*

間違いがありましたので、訂正いたします。
エラーになる箇所は、HttpSendRequest または、InternetOpenUrl です。

編集 削除
それは  2009-07-10 21:09:39  No: 142196  IP: 192.*.*.*

>*.PHP ファイルは、*.HTML/*.JPG/*.ZIP 等のファイルと同じ様には扱えないのでしょうか。
そのphpファイルのパーミッションが「実行のみ許可」になってるんじゃないの?

編集 削除
夢羽  2009-07-11 16:51:59  No: 142197  IP: 192.*.*.*

「それは」さん、ご回答ありがとうございます。

現在の環境は、XP SP2 + VB2008 Express Edition です。
今回、VB.NET 初挑戦でして、いろいろ調べながらプログラムしています。
VB6 にて Inet/OpenURL を使用した場合には、問題なくダウンロードできました。
Inet でできたものが WinInet.dll でできないのは、プログラムに問題があるのだと思います。
そのポイントを教えてください。

VB2008 Express Edition で、うまく動作するようになったら、XP SP2 + Excel 2002 VBA でも、動作させたいです。
よろしく、お願いいたします。

PHPのパーミッションに関しては、調べて見ます。ありがとうございました。

編集 削除
夢羽  2009-07-30 20:23:35  No: 142198  IP: 192.*.*.*

結局は、私の手抜きコーディングが原因でした。
HttpSendRequestの正常/異常の判断をリターン値を使わず、いきなりGetLastErrorのリターン値で判断したのがまずかったようです。
HttpSendRequestのリターン値がエラーを示している時のみGetLastErrorを呼ぶように変更したら、うまくいきました。

編集 削除