これを行うにはいくつかの方法があります。1 つは、単純にUri.Query
メソッドを使用してクエリ文字列を取得し、& で解析できることです。もう 1 つの方法は、Uri.Query
メソッドを使用HttpUtility.ParseQueryString
してから、 を使用してクエリ文字列を として解析できることですNameValueCollection
。これは、お好みのルートである可能性があります。
以下の例を参照してください。
using System.Web; // For HttpUtility
// The original URL:
Uri unparsedUrl = new Uri("http://api.vkontakte.ru/blank.html#access_token=8860213c0a392ba0971fb35bdfb0z605d459a9dcf9d2208ab60e714c3367681c6d091aa12a3fdd31a4872&expires_in=86400&user_id=34558123");
// Grabs the query string from the URL:
string query = unparsedUrl.Query;
// Parses the query string as a NameValueCollection:
var queryParams = HttpUtility.ParseQueryString(query);
Dictionary
オブジェクトを扱うのと同様の操作を実行できるようになりました。そのようです:
string accessToken = queryParams["access_token"];
string expiresIn = queryParams["expires_in"];
これは @Jeroen Bouman が示したものと同じ機能を持っていますが、さまざまな機能を分割しているため、各部分が個別に何をするかを理解できます。
参考文献:
Uri.クエリ
HttpUtility.ParseQueryString
NameValueCollection