2

Visual Studio 2010 を使用しています。C# Windows アプリケーションを作成しています。このアプリケーションで WebBrowser コンポーネントを使用することはありません。問題が 1 つあります。URL という名前の WebBrowser パラメータにアドレスを書き込みます。その結果、WebBrowser は別の http アドレスにリダイレクトします。この新しいアドレス コンテンツは、いくつかのパラメーターを含む http 文字列です。このような:

http://oauth.vk.com/blank.html#access_token=9e4b021cb7dd54c795ef1c106f6c0063ef5bc4491f3e6c9e518728b969df58576ebd80dc283e1c7068ac5&expires_in=0&user_id=66476428

この新しいアドレスから、access_token という名前のパラメーターを読み取りたいと思います。しかし、WebBrowser コンポーネントのパラメーター URL を取得しようとすると (このように

MessageBox.Show(webBrowser1.Url.ToString()); 

) 次に、この文字列のみを読み取ります。

http://oauth.vk.com/blank.html

access_token パラメータを読み取るにはどうすればよいですか?

4

1 に答える 1

6

webBrowser1.Url.Queryを使用して uri のクエリ文字列部分を取得し、文字列を解析して access_token 部分を取得してみてください。

このように System.Web に参照を追加することで、HttpUtilityを使用できます。

var q = HttpUtility.ParseQueryString(webBrowser1.Url.Query);
var access_token = q["access_token"];
于 2013-02-15T11:57:56.760 に答える