Inet.ExecuteでREFERERを設定するには?

解決


ashigiku  2005-11-26 09:29:10  No: 128255

いままで

data() = Form1.Inet1.OpenURL(, icByteArray)
Put #FileNum, , data()

という処理でデータを取得していたところを
HTTP-REFERERの設定の為Inet.Executeでの取得に直したいと思うのですが、
エクゼキュートの使い方(特にoperationのところ)がわかりません。
MSDNなどを参考にして

Inet1.Execute , "GET", data(), Ref & vbCrLf

と打ってみましたが「タイプは強制的には指定できません」というエラーがでます。

data()は最終的なデータの格納先でバイト型の配列です。
Refはストリング型で"http"から始まるURLが挿入されています。
ExecuteのURLの項目は少し前にInet1.URLで設定してあり省略してあります。

InetのHTTP通信詳しい方ご教授願います。


ashigiku  2005-11-27 05:39:14  No: 128256

開発環境はVB6.0(SP5)でOSはXPです。


X_File  2005-11-27 19:31:57  No: 128257

4番目の引数で

Inet1.Execute , "GET", data(),, Ref & vbCrLf


ashigiku  2005-11-28 07:53:42  No: 128258

Inet1.Execute , "GET", data(), Ref & vbCrLf
を指示通りdata()の後に,を追加して実行してみましたが、
「引数の型が一致していないか不正なプロパティを参照している」
というエラーが表示されました。

MSDNを見る限り、引数はurl,operation,data,requestHeadersと
並んでいるのですが、まだ何か足りない引数があるのでしょうか?


X_File  2005-11-28 18:33:42  No: 128259

失礼しました。
1番目の引数にURLを指定していないのが原因ですね。
第3引数は空にしてください。
データはInet1_StateChangedで取得します。

http://madia.world.coocan.jp/vb/vb_bbs/200309_03090050.html


ashigiku  2005-11-29 07:15:45  No: 128260

X_File様の助言を受け、昼から試行錯誤したところ、
やっと動ける形までたどりつけました。本当に感謝しています。

しかし、動作テストを行ったところ、
どうもリクエストヘッダーの部分が
無視されているような気がしてなりません。

きちんとHTTP-REFERERが設定されているか確かめたいのですが、
ローカルウィンドウにもそれらしき表示が無く、難航しています。

変数 Refは
Ref="HTTP-REFERER : " & Text3.Text

'テキスト3は"http"から始まる参照元URLの入力用のテキストボックス

といった感じにエグゼキュート実行前に設定されてるのですが、
ここに無視される原因があるのでしょうか?


魔界の仮面弁士  2005-11-29 07:53:45  No: 128261

> Ref="HTTP-REFERER : " & Text3.Text

原因はそこかな?
http://madia.world.coocan.jp/vb/vb_bbs2/200307_03070049.html


ashigiku  2005-11-29 09:07:13  No: 128262

ここだったのか・・・。
"HTTP-REFERER : "ではなく"Referer: "だったんですね。
最初は仮面弁士さんのURLのページを見て"Referer: "でやってたのですが、
検索でヒットしたページの情報を鵜呑みにしてしまい。
"HTTP-REFERER : "と記述してしまったようです。忘れてました。

動作テストも期待通り動いてくれました。
これから使いやすさを高めるところに入っていきます。
お二方とも本当にありがとうございました。


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

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






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