ASP.NET Webforms - 如何确定请求以问号结束,即?

时间:2015-08-10 06:42:50

标签: c# asp.net webforms

  • .NET 4.51,WebForms

当我输入我的WebForms应用程序的URL时:

  

http://localhost/blog/how-are-cruise-ships-powered

我看看Request.URL我看到以下内容:

enter image description here

当我有一个表格中的网址

  

http://localhost/blog/how-are-cruise-ships-powered

我看到以下内容:

enter image description here

那么如何区分他们两个呢?我需要重定向具有尾随的URL?它上面的那个有一个尾随?但我不知道哪一个是哪个。任何指针都非常感激。

2 个答案:

答案 0 :(得分:3)

简短的回答是它们(语义上)完全相同的URL。 ?是一个特殊字符,用作URL的位置(地址)部分与其查询参数之间的分隔符。

之后没有参数的尾随?应该与其裸体对应物的功能没有区别,也不需要在包括IIS的标准服务器上进行任何特殊的重定向/解析/处理。因此,您实际上不需要做任何事情。

如果您确实需要在URL请求字符串中找到?字符,则必须在堆栈中执行更高层的操作。但要注意这会破坏网络上普遍认可的语义,并且此时发送重定向甚至可能导致客户端无限循环,具体取决于实际附加?的人。

答案 1 :(得分:1)

我同意@lc。回答,但如果您仍需要检查/获取它,则可以通过#!/usr/bin/env python import urllib2 import json api_key = 'VtxgIC2UnhfUmXe_pBksov7-lguAQMZD' url = 'http://www.energyhive.com/mobile_proxy/getCurrentValuesSummary?token='+api_key response = urllib2.urlopen(url) content = response.read() for x in json.loads(content): if x["cid"] == "PWER": print (x["data"]) for y in json.loads(content): if y["cid"] == "PWER_GAC": print(y["data"]) for z in json.loads(content): if z["cid"] == "PWER_IMM": print(z["data"]) for a in json.loads(content): if a["cid"] == "FBAK_IMM": print(a["data"]) 访问它。

[{u'1439193214000': 2880}] [{u'1439193214000': 2979}] [{u'1439193212000': 3276}] [{u'1439193212000': 135}] 包含域名斜杠背后的内容。

e.g。 Request.RawUrl会产生Request.RawUrl