Tag: url

从HttpWebResponse获取重定向的URL的集合

我正在尝试检索一个url列表,这些url表示从URL X到URL Y的路径,其中X可能被重定向多次。 例如: http://www.example.com/foo 这将重定向到: http://www.example.com/bar 然后重定向到: http://www.example.com/foobar 有没有办法从响应对象中获取此重定向路径作为字符串: http://www.example.com/foo > http://www.example.com/bar > http://www.example.com/foobar : http://www.example.com/foo > http://www.example.com/bar > http://www.example.com/foobar 我可以通过ResponseUri获取最终的URL,例如 public static string GetRedirectPath(string url) { StringBuilder sb = new StringBuilder(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); using (var response = (HttpWebResponse)request.GetResponse()) { sb.Append(response.ResponseUri); } return sb.ToString(); } 但这显然会在两者之间跳过URL。 似乎没有一种简单的方法(或根本没有方法?)来获得完整的途径?

具有句点的ASP.NET MVC路由ID

如果我有以下路线: {controller}/{action}/{id} 我查看以下url: c1/a1/abc. 它不起作用。 仅当句点位于URL的末尾时才会发生这种情况。 有没有办法让ASP.NET MVC识别出作为ID的一部分?

如何在C#/ ASP.NET中的http://someurl/myimage.jpg中检查图像是否存在

如何检查图像是否存在于C#/ ASP.NET中的http://someurl/myimage.jpg似乎应该有一种方法来检查这一点 – 但我找不到一个。 我找到了这个 ,但它并没有真正回答这个问题。

一种计算重定向URL的方法

鉴于URL A被重定向到第三方网站B,在我的应用程序中,我需要找到给定URL A的URL B并将其插入到DB中,这可以是Windows应用程序或Web,或者以更快的方式运行更容易使用C#! 谢谢 ! PS我不需要在DB中插入代码。

在.NET中创建Uri会自动对来自传递字符串的所有参数进行编码

假设我想从以下字符串创建一个Uri对象: string url = @”http://someserver.com?param1=1&url=http%3a%2f%2fwww.otherserver.com”; Uri uri = new Uri(url, UriKind.Absolute); 预期结果将是: http://someserver.com?param1=1&url=http%3a%2f%2fwww.otherserver.com 获得: http://someserver.com/?param1=1&url=http://www.otherserver.com 在允许创建Uri的许多相关方法中注意到相同的行为:Uri.TryCreate,UriBuilder.Uri等。 如何获得保留初始编码参数的Uri?

在URL中使用斜杠“/”路由参数

我知道你可以在路由属性中应用通配符来允许/例如日期输入,例如: [Route(“orders/{*orderdate}”)] 通配符的问题仅适用于URI中的最后一个参数。 如果要拥有以下URI,我该如何解决问题: [Route(“orders/{orderdate}/customers”)] 更新: 我知道通过重构代码来解决问题的选择很少,所以请不要提供类似的解决方案: 将路线模板更改为[Route(“orders/customers/{orderdate}”)] 将日期更改为其他格式(例如”dd-mm-yyyy” )

Request.Querystring自动url解码一个字符串?

我正在使用我有一个url的页面: /目录/公司/制造商 使用一些重写规则,这将被重写 使用/ directory / company / dunkin%26donuts /进行测试 一些制造商的名字中有一个&符号。 所以我想我可以用%26替换&符号。 但是,当我调试代码并将鼠标hover在Request.QueryString它显示我{qq=company&manf=dunkin&donuts&cond=}而Request.QueryString[“manf”]给了我’dunkin’ 如果我使用%24 ($)而不是&符号,将{qs=company&manf=dunkin%24donuts&cond=}hover在Request.QueryString会给我{qs=company&manf=dunkin%24donuts&cond=}而Request.QueryString[“manf”]会给我’dunkin $ donuts’ 我不明白这里的不同行为。 为什么在实际请求特定密钥之前,似乎&符号的url编码值会被解码,但是另一个url编码的字符,如美元符号,只有在您实际请求该特定密钥后才会被解码? 这是最近的变化吗? 我一直认为Request.QueryString[key]返回实际文本而不先解码它。 或者它与url重写有什么关系?

在URLDecode之后,QueryString格式错误

我试图通过QueryString将Base64字符串传递到C#.Net Web应用程序。 当字符串到达​​时,“+”(加号)符号将被空格替换。 似乎自动URLDecode进程正在执行此操作。 我无法控制通过QueryString传递的内容。 有没有办法处理这个服务器端? 例: http://localhost:3399/Base64.aspx?VLTrap=VkxUcmFwIHNldCB0byAiRkRTQT8+PE0iIHBsdXMgb3IgbWludXMgNSBwZXJjZW50Lg== 生产: VkxUcmFwIHNldCB0byAiRkRTQT8 PE0iIHBsdXMgb3IgbWludXMgNSBwZXJjZW50Lg== 人们建议URLEncoding查询字符串: System.Web.HttpUtility.UrlEncode(yourString) 我无法做到这一点,因为我无法控制调用例程(这对其他语言工作正常)。 还有建议用加号替换空格: Request.QueryString[“VLTrap”].Replace(” “, “+”); 虽然我有这个,但我对它的关注,我本来应该提到这一点,是因为我不知道除了加号之外还有哪些其他字符可能会出错。 我的主要目标是在通过解码器运行之前拦截QueryString。 为此,我尝试查看Request.QueryString.toString(),但这包含相同的格式错误的信息。 在URLDecoded 之前有没有办法查看原始QueryString? 在进一步测试后,似乎.Net期望来自QuerString的所有内容都被URL编码,但浏览器不会自动对GET请求进行URL编码。

如何在C#中解析HTTP URL?

我的要求是解析Http Urls并相应地调用函数。 在我当前的实现中,我使用嵌套的if-else语句,我认为这不是一种优化方式。 你能建议一些其他有效的approch吗? url如下: server/func1 server/func1/SubFunc1 server/func1/SubFunc2 server/func2/SubFunc1 server/func2/SubFunc2

从foo.bar.car.com中的URL获取特定子域

给出如下URL: foo.bar.car.com.au 我需要提取foo.bar 。 我遇到了以下代码: private static string GetSubDomain(Uri url) { if (url.HostNameType == UriHostNameType.Dns) { string host = url.Host; if (host.Split(‘.’).Length > 2) { int lastIndex = host.LastIndexOf(“.”); int index = host.LastIndexOf(“.”, lastIndex – 1); return host.Substring(0, index); } } return null; } 这给了我像foo.bar.car 。 我想要foo.bar。 我应该使用拆分并取0和1吗? 但是有可能是wwww。 有一个简单的方法吗?