VB.NET Basic認証のログイン後のURLの表示→特定リンクをクリックしたい


http://www.write-novel.net/develop/visual-studio/900/

こちらのブログに記載のある質問内容なのですが、
ご教授いただける方はいらっしゃいますでしょうか?

コードは、ほぼ間違えているかと存じますので、
分かる範囲でも結構ですので少しでもご回答
いただけますと大変助かります。

簡単なコードの例題と分かり易くご説明して
頂けますと幸いです。

何卒、よろしくお願い申し上げます。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/02/20 17:58:20
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:SweetSmile1978 No.1

回答回数199ベストアンサー獲得回数31

ポイント200pt

basic認証が何かという点が間違っている気がしますが
それはとりあえずいいとして、
ログイン完了後の URL が mybrowser1.url からわかると思うので
そこから、ベース uri を調べて、
相対 uri としての、new.html を組み合わせて
new.html にアクセスするための uri インスタンスを作成して、
mybrowser1.url にセットするだけの気がします。
http://msdn.microsoft.com/ja-jp/library/vstudio/9hst1w91.aspx

試していないので穴があるかもしれませんが。

他1件のコメントを見る
id:SweetSmile1978

ログインは完了するんですよね
で、ログイン後のページ内容から特定のリンク先 new.html を見つけてそこにアクセスしたいんですよね

ふと思ったのですがそのwebサイトは
ログインするとアドレス内に ? とその後にいろいろ文字が入るページですか?
?以降の内容を消したアドレスでアクセスすると
正し再度ログインが必要になったり
期待通りのページを取得できないサイトですか?
質問の内容をみる限りは違うと思うのですが。

2013/02/20 18:39:53
id:bgzmss

ご返答いただき誠にありがとうございます。
そもそも私の回答が合っているか不安ではありますが、

・ログインは問題なく上記コードでいけます。
・該当のサイトは https ではありません。
・クエリを送り込むような ? が付いたURLでもありません。
・クッキーやセッションを制御してどうこうという
内容までは分かりませんが一応ページは全て html ファイルかと思います。
・PHPのパーマリンク等で出力しているかまでは分かりません。
・Wordpressなどではないようです。

お教え頂きました下記のヒントの記述が
MSDNの Uri を読んでも分からず格闘しております。。

・ベース uri を調べる
・相対 uri としての、new.html を組み合わせる
・new.html にアクセスするための uri インスタンスを作成する
・mybrowser1.url にセットする

おそらくSweetSmile1978様が仰るような
記述さえ出来ればクリック出来そうなのですが、
今自分で色々試しておりますが、Visual Studio上では
エラーは出ないのですが、何度やってもクリックも
同じくされずといったところで少々憔悴しきっておりました・・・

上記の中に無駄ないらない情報もあるかもしれませんが、
分かる範囲で全て書かせて頂きました。
どうか少しでも結構ですのでヒントやコードなどを
お教え頂けませんでしょうか?

何卒、よろしくお願い致します。

2013/02/20 19:48:36

その他の回答2件)

id:SweetSmile1978 No.1

回答回数199ベストアンサー獲得回数31ここでベストアンサー

ポイント200pt

basic認証が何かという点が間違っている気がしますが
それはとりあえずいいとして、
ログイン完了後の URL が mybrowser1.url からわかると思うので
そこから、ベース uri を調べて、
相対 uri としての、new.html を組み合わせて
new.html にアクセスするための uri インスタンスを作成して、
mybrowser1.url にセットするだけの気がします。
http://msdn.microsoft.com/ja-jp/library/vstudio/9hst1w91.aspx

試していないので穴があるかもしれませんが。

他1件のコメントを見る
id:SweetSmile1978

ログインは完了するんですよね
で、ログイン後のページ内容から特定のリンク先 new.html を見つけてそこにアクセスしたいんですよね

ふと思ったのですがそのwebサイトは
ログインするとアドレス内に ? とその後にいろいろ文字が入るページですか?
?以降の内容を消したアドレスでアクセスすると
正し再度ログインが必要になったり
期待通りのページを取得できないサイトですか?
質問の内容をみる限りは違うと思うのですが。

2013/02/20 18:39:53
id:bgzmss

ご返答いただき誠にありがとうございます。
そもそも私の回答が合っているか不安ではありますが、

・ログインは問題なく上記コードでいけます。
・該当のサイトは https ではありません。
・クエリを送り込むような ? が付いたURLでもありません。
・クッキーやセッションを制御してどうこうという
内容までは分かりませんが一応ページは全て html ファイルかと思います。
・PHPのパーマリンク等で出力しているかまでは分かりません。
・Wordpressなどではないようです。

お教え頂きました下記のヒントの記述が
MSDNの Uri を読んでも分からず格闘しております。。

・ベース uri を調べる
・相対 uri としての、new.html を組み合わせる
・new.html にアクセスするための uri インスタンスを作成する
・mybrowser1.url にセットする

おそらくSweetSmile1978様が仰るような
記述さえ出来ればクリック出来そうなのですが、
今自分で色々試しておりますが、Visual Studio上では
エラーは出ないのですが、何度やってもクリックも
同じくされずといったところで少々憔悴しきっておりました・・・

上記の中に無駄ないらない情報もあるかもしれませんが、
分かる範囲で全て書かせて頂きました。
どうか少しでも結構ですのでヒントやコードなどを
お教え頂けませんでしょうか?

何卒、よろしくお願い致します。

2013/02/20 19:48:36
id:rsc96074 No.2

回答回数4504ベストアンサー獲得回数437

ポイント50pt

 WebBrowser.DocumentText プロパティを使って見るのはどうでしょうか。htmlをWebBrowserに送り込むことが出来ます。
※参考URL
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.webbrowser.documenttext.aspx
http://d.hatena.ne.jp/rsc96074/20110711/1310395871

id:bgzmss

ご回答いただきありがとうございます。
どちらのリンクも読み試してみたのですが、
うまくいきませんでした。

当方、知識が乏しく少々環境が変わるだけで
プログラムの移植?がうまく出来ません。
また、MSDNはググると良く当たるのですが、
私のプログラムにあてて調整することが
難しく出来ませんでした。

基本的にはログインまでは問題ありません。
ログイン後の画面は表示されるのですが、
その後、特定のリンクがクリック出来ません。
少しでもヒントを頂けますと大変助かります。
よろしくお願い致します。

2013/02/18 17:29:56
id:oil999 No.3

回答回数1728ベストアンサー獲得回数320

ポイント50pt

BASIC認証を通るためのロジックがおかしいように思われます。
WebClientクラスのCredentialsプロパティを使ってはどうでしょう。

【参考】WebClientでBasic認証

http://d.hatena.ne.jp/noricyan/20100206/1265426864

認証を通せば、あとはWebClientクラスで指定URLのページを取得すればよいのです。

【参考】WebClientクラスでWebページを取得するには?

http://www.atmarkit.co.jp/fdotnet/dotnettips/302wcget/wcget.html

id:bgzmss

ご回答いただきありがとうございます。
お教え頂いたURLを確認したところ、
consoleでの記述でした。

皆さまはconsoleでの記述からWebフォームアプリケーション
のwebblowserへの移植は全く問題ないと思いますが、
私はそれも難しく出来ましたらWebBrowserでの
記述をお願いできませんでしょうか?
よろしくお願い致します。

2013/02/18 17:32:52

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません