掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
HttpSendRequestでリダイレクト先のパスを取得するには? (ID:90914)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
私はVB初心者で、VBで困ったときにはこの板を参考にさせて頂いています。 さて、今回VB6.0を使用してファイルダウンローダ(HTTP)を 作成しているのですが、指定したファイルがリダイレクトされている場合、 通常ですとサーバからコード「302 Moved Temporarily」が返されると思う のですが、リクエストが悪いのか「400 Bad request」が返されます。 以下のURLに対して、次のような要求を投げています。 URL:http://www.vector.co.jp/pack/win95/amuse/icon/y_256f1.lzh リクエスト: GET http://www.vector.co.jp/pack/win95/amuse/icon/y_256f1.lzh HTTP/1.0 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */* Referer: http://www.ix.sakura.ne.jp/~yoshi/icon/folico.htm Accept-Language: ja Proxy-Connection: Keep-Alive User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Host: www.vector.co.jp ブラウザ(IE6.0)で確認すると、以下のレスポンスが返って来ております。 レスポンス: HTTP/1.1 302 Moved Temporarily Server: Netscape-Enterprise/6.0 Date: Sat, 09 Jul 2005 15:37:42 GMT Location: http://download.vector.co.jp/pack/win95/amuse/icon/y_256f1.lzh Content-length: 0 Content-type: text/html Proxy-Connection: close Connection: close VBでやるとなぜか400・・・ 以下にソースの抜粋を記載させて頂ます。 hIntnet = InternetOpen("Sample", INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0) hConnect = InternetConnect(hIntnet, "www.vector.co.jp", INTERNET_DEFAULT_HTTP_PORT, strUser, strPass, INTERNET_SERVICE_HTTP, 0, 0) hHttpOpenRequest = HttpOpenRequest(hConnect, "GET", "/pack/win95/amuse/icon/y_256f1.lzh", "HTTP/1.0", "http://www.ix.sakura.ne.jp/~yoshi/icon/folico.htm", 0, INTERNET_FLAG_RELOAD, 0) '「strHeaders」には上記のリクエストが代入されています。 hHttpSendRequest = HttpSendRequest(hHttpOpenRequest, strHeaders, Len(strHeaders), vbNullString, 0) '応答コードを取得 Ret = HttpQueryInfo(hHttpOpenRequest, HTTP_QUERY_STATUS_CODE, strBuf, lngBufLen, 0) ブラウザと同じ要求を投げている(はず)なのに、なぜレスポンスが 違うのでしょうか・・・ 長文になり申し訳ありませんが、よろしくお願い致します。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.