WinINet関数を使いVCプログラムしています。
HTMLをダウンロードしてきて、情報を解析しているのですが。
InternetOpen
InternetOpenUrl
↓
InternetReadFile
手順で、HTMLの所得はできるのですが、
ユーザー認証がいるサイトの情報を取る方法がわかりません。
(例えば:mixi,facebookなど)
WinINet関数を使用してサイトにログインしてから、
指定のURLのHTMLを取得する様な感じだと思っているのですが、やり方がわかりません。
参考になる、サイト等知っている方がいましたら、教えて頂けると嬉しいです。
No.2ベストアンサー
- 回答日時:
mixiだとBASIC認証じゃなくてフォームへ……ですね。
http://www.hiramine.com/programming/windows/http …
とか参考に……なりますかねぇ。
APIの使用順などは参考になると思いますが……。
フォームでログインするタイプだと、おそらくHTTPリクエストはPOSTになります。
# 実際のところはそのページのソースを確認するべきですが。
HTTPリクエストヘッダに
Content-Type: application/x-www-form-urlencoded
を追加して、HTTPリクエスト ボディでユーザー名やパスワードなどを送信することになります。
# どこにPOSTするのか…とか、HTTPリクエスト ボディに入れる必要のあるデータなどはページによる…ということに。
また、セッション管理などでCookieを使っていたりする場合は、その後の通信でもCookieの送受信なども必要になるでしょう。
VMWare上のUSVNへのログインだと…下記のような感じに……
POST /usvn/login/ HTTP/1.1
Host: 192.168.61.134
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:15.0) Gecko/20100101 Firefox/15.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://192.168.61.134/usvn/login/
Cookie: PHPSESSID=umhpt5qvd5dge8h026jkl5tpn7
Content-Type: application/x-www-form-urlencoded
Content-Length: 83
login=admin&password=123456789&submit=%E3%82%B5%E3%83%96%E3%83%9F%E3%83%83%E3%83%88
参考のサイト本当にありがとうございます。
サイトのサンプルを流用して、少し改造を加え、
欲しい情報の取得ができました。
本当に助かりました。ありがとう御座いました。
No.1
- 回答日時:
「InternetOpenUrl 認証」辺りで検索すると見つかるんじゃないでしょうか。
InternetOpenUrl()の第3引数と第4引数で追加のヘッダ(HTTPリクエストヘッダ)が指定できます。
# HttpSendRequest()でもいいのでしょうが……
http://www.studyinghttp.net/auth
とか……。
>ユーザー認証がいるサイトの情報を取る方法がわかりません。
>(例えば:mixi,facebookなど)
SSLだとダメですが…WireSharkなどで実際のパケットを覗く…というのもアリかと思います。
Wr5様
アドバイスありがとうございます。
アドバイスに書いてあってURlの内容 HTTPアクセス認証について、サイトの方読みました。
ですが、私の力量不足なのか、問題の解決にいたっていまっせん。
HttpSendRequestなどを使用した、mixi等に対して認証(ログイン?)をする
イメージでいいのでしょうか?
あつかましいと思いますが、簡単なサンプルかなにかを教えていただけると嬉しいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP $_SESSIONに渡した後はそのまま使っても問題ありませんか? 3 2022/11/08 22:17
- HTML・CSS 別サイトのHTML内にある情報を自動取得して、自分のサイトに組込む方法を教えてください。 例えば、Y 1 2023/06/15 08:09
- インターネット広告・アフィリエイト アフェリエイトサイト 作成について 5 2022/05/13 21:31
- 格安スマホ・SIMフリースマホ SMS認証用の電話番号が欲しい 6 2022/06/12 18:21
- 就職 情報学科やIT企業の関係者の方にお聞きしたいです。 2 2023/08/01 08:55
- その他(行政) e-govで必要な電子証明書について 1 2022/08/20 22:56
- ハッキング・フィッシング詐欺 Airbnb セルフチェックの宿の個人確認について 1 2022/05/08 10:12
- YouTube SMS認証が出来なくて乗っ取られたアカウントを取り戻せません。 2 2023/04/02 15:29
- その他(セキュリティ) 匿名チャットアプリのトラッキングについて。顔写真や個人情報の漏洩はあるのか。 2 2023/03/28 00:00
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでExcelのヘッダーに文字列+...
-
ftpでのネットワークバイトオー...
-
perlでHTTP Request Headersの...
-
LinuxでRTPヘッダを作りたいの...
-
ヘッダのinclude順
-
HTTPヘッダの取得方法
-
月の第一週とは
-
よくある 『 第○(1・2・3・4・...
-
エクセルで毎月第2週日の水曜日...
-
クライアントのIPとマシン名を...
-
燃えるゴミの日は何曜日ですか?
-
apacheでPerl CGIが作動せず、5...
-
jcode.plが読み込めない
-
エクセルで相対パスの書き方を...
-
VBA。複数のChangeイベントをま...
-
Excelで第一〇曜日を求める方法...
-
指定曜日にMsgBox表示は可能で...
-
ユーザー定義の(aaa)
-
週休3日制で土日の他にもう一日...
-
6月の第2 第4火曜日は何日...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでExcelのヘッダーに文字列+...
-
ヘッダのinclude順
-
[C#]ListView一覧表示時の幅設...
-
AccessVBAで「このフィールドに...
-
perl5について
-
LinuxでRTPヘッダを作りたいの...
-
ルータでのMTU、MSS設定値の検...
-
Content-type: text/htmlが表示...
-
リストコントロールの列幅を固...
-
EXCEL:ヘッダー日付を年号で?...
-
perlでHTTP Request Headersの...
-
HTTPヘッダの大きさ
-
ftpでのネットワークバイトオー...
-
SpreadDesignerの列ヘッダ
-
cookieを表示させたい。(ブラウ...
-
http://から始まるファイルの更...
-
LWPでのCookie取得
-
file_get_contents でリダイレ...
-
関数ヘッダ?
-
HTTP 200 OKの後のリダイレクト?
おすすめ情報