
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでExcelのヘッダーに文字列+...
-
ftpでのネットワークバイトオー...
-
リストコントロールの列幅を固...
-
週2回のペースって だいたい何...
-
月の第一週とは
-
DBを10件毎に表示ページング...
-
エクセルで毎月第2週日の水曜日...
-
Excelで第一〇曜日を求める方法...
-
エクセルで相対パスの書き方を...
-
Location: で cgi → c...
-
ファイル書込時にPermission de...
-
CGIの中にinclude
-
C言語初心者です。
-
一年の第何週目であるかを判断...
-
Excel VBA 第〇△曜日の場合休日...
-
今週とは何曜日から何曜日まで...
-
6月の第2 第4火曜日は何日...
-
htaccessで静的URLを動的URLに...
-
毎週同じ曜日にラブホに行くと...
-
HTMLファイルをCSVファイルへ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでExcelのヘッダーに文字列+...
-
携帯用のダウンロード配信
-
リストコントロールの列幅を固...
-
[C#]ListView一覧表示時の幅設...
-
SpreadDesignerの列ヘッダ
-
SSL環境でオートコンプリートを
-
URLでのリダイレクト?
-
VC++でCORBAを使用するには
-
関数ヘッダ?
-
LinuxでRTPヘッダを作りたいの...
-
AccessVBAで「このフィールドに...
-
HTTPヘッダの大きさ
-
Content-type: text/htmlが表示...
-
呼び出し元にデータを返す
-
クッキーの基礎的なことについて
-
htmlにアクセスしたときにperl...
-
メールをPDF化する際に、ヘッダ...
-
プロキシの制限について
-
EXCEL:ヘッダー日付を年号で?...
-
SSLで送られたhttpのヘッダ...
おすすめ情報