c# 获取带特殊字符的url 参数

正常情况下c#获取url中参数用Request.QueryString["id"]这种方法可以获得。但是url中带有特殊字符,获取的值为空,请问怎么获取带特殊字符的url... 正常情况下c# 获取url中参数用Request.QueryString["id"]这种方法可以获得。但是url中带有特殊字符,获取的值为空,请问怎么获取带特殊字符的url中的参数。
例:下面的url中“#“ 后面的参数就获取不到 http://huitaichufang.com/qqdll.aspx?#access_token=67606634F576ECB65C2FF2A8CE9F8AE0&expires_in=7776000
展开
 我来答
哲事姓无
推荐于2016-02-16 · TA获得超过1176个赞
知道小有建树答主
回答量:903
采纳率:100%
帮助的人:433万
展开全部

这个不是特殊字符,


    [STAThread]
    public static void Main(string[] args)
    {
        var url = @"http://huitaichufang.com/qqdll.aspx?#access_token=67606634F576ECB65C2FF2A8CE9F8AE0&expires_in=7776000";

        var uri = new Uri(url);
        var fragment = uri.Fragment;
        Console.WriteLine("fragment:" + fragment);
        if (fragment.StartsWith("#"))
            fragment = fragment.Substring(1);

        // using System.Web;
        var collection = HttpUtility.ParseQueryString(fragment);
        foreach (var key in collection.AllKeys)
        {
            Console.WriteLine(key + " => " + collection[key]);
        }


        Console.ReadKey();
    }

sxhgga
2014-04-14 · TA获得超过687个赞
知道小有建树答主
回答量:1019
采纳率:74%
帮助的人:631万
展开全部
特殊符号可用对应的编码代替,如#号用%23,以下为常用特殊符号:
+ %2B
空格 %20
/ %2F
? %3F
% %25
# %23
& %26
= %3D
追问
关键这这个url是接收的qq返回的url。怎么编码?
追答
那你把QQ返回的URL中的#号给删除了 ,或者替换掉。再request试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
憋不住事儿
2014-04-14 · TA获得超过603个赞
知道小有建树答主
回答量:570
采纳率:85%
帮助的人:163万
展开全部
你是想做qq第三方登录吗?
追问
嗯,是的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式