Có một số cách bạn có thể làm điều này. Một là bạn chỉ có thể sử dụng phương thức Uri.Query
để nhận chuỗi truy vấn và sau đó phân tích cú pháp theo số & s. Một cách khác là bạn có thể sử dụng phương thức Uri.Query
và sau đó sử dụng HttpUtility.ParseQueryString
để phân tích cú pháp chuỗi truy vấn dưới dạng NameValueCollection
, có thể là tuyến đường ưa thích của bạn.
Xem ví dụ dưới đây:
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);
Bây giờ bạn có thể thực hiện các hoạt động tương tự như cách bạn sẽ đối phó với một đối tượng Dictionary
. Giống như vậy:
string accessToken = queryParams["access_token"];
string expiresIn = queryParams["expires_in"];
Chức năng này giống với chức năng của @Jeroen Bouman, nhưng chia tách các chức năng khác nhau để bạn có thể hiểu từng phần riêng lẻ.
Tài liệu tham khảo:
Uri.Query
HttpUtility.ParseQueryString
NameValueCollection
Uri lớp học? http://msdn.microsoft.com/en-us/library/system.uri.aspx –
bản sao có thể có của [Nhận thông số url từ chuỗi trong .NET] (http://stackoverflow.com/questions/659887/get -url-parameters-from-a-string-in-net) –