我有下面的asp.net页面,它接受一个"url“查询字符串键,它的值可以是一个未编码的url:
http://localhost:4104/WebSiteForTest/TinyUrl.aspx?url=http://www.google.co.uk/#hl=en&q=life&oq=life&aq=f&aqi=g-s1g9&aql=&gs_sm=3&gs_upl=2803373l2803701l2l2803826l4l4l0l0l0l0l188l453l0.3l3l0&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&fp=94681dc4659502d1&biw=1680&bih=883现在从这个页面上,怎么可能读到".aspx?“之后的文本呢?
我检查了Request.Url.AbsoluteUri属性,它只显示
"http://localhost:4104/WebSiteForTest/TinyUrl.aspx?url=http://www.google.co.uk/"我还用下面的代码检查了Request.QueryString:
private void getQueryString()
{
var sb = new StringBuilder();
var queryStringCount = Request.QueryString.Keys.Count;
for (int keyIndex = 0; keyIndex < queryStringCount; keyIndex++)
{
sb.Append(Request.QueryString.Keys[keyIndex]).Append("=").Append(Request.QueryString[keyIndex]);
if (keyIndex != (queryStringCount - 1))
{
sb.Append("&");
}
}
}但是,"#“后面的代码不会出现在任何查询字符串中。
怎么可能读到".aspx?“之后的文字呢?
如果你说这是不可能的,谷歌怎么会在他们的url中使用"#“,然后当你搜索东西的时候?!
http://www.google.co.uk/#hl=en&site=&q=life&oq=life&aq=f&aqi=g-s1g9&aql=&gs_sm=3&gs_upl=3317l3630l0l3755l4l4l0l0l0l0l125l391l3.1l4l0&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&fp=94681dc4659502d1&biw=1680&bih=849
谢谢,
发布于 2012-02-16 21:58:17
我假设您正在使用C#来做这件事。您可以通过遍历请求对象轻松地获取参数及其值。或者,在本例中,由于您知道参数的名称,因此只需执行以下操作:
String url = Request.QueryString"url";
有关iterating through your request parameters can be found here的更多信息。
https://stackoverflow.com/questions/9312478
复制相似问题