我在网上看到的例子似乎比我预期的要复杂得多(手动解析&/?/ =成对,使用正则表达式等). 我们正在使用asp.net ajax (在客户端参考中看不到任何内容)并且会考虑添加jQuery,如果真的有帮助的话.
我认为那里有一个更优雅的解决方案 - 到目前为止这是我发现的最好的代码,但我希望找到更多的HttpRequest.QueryString对象(asp.net服务器端).提前致谢,
巴蒂尔
如何在apache中禁止以下url;
main/index.php?site=ing
我试过以下几点;
RewriteRule ^main/index.php?site=ing - [F]
但没有运气......
我一直在追踪Url重写应用程序的错误.该错误显示为查询字符串中某些变音字符的编码问题.
基本上,问题是基本上是/search.aspx?search=heřmánek的请求被重写了"search = he%c5%99m%c3%a1nek"的查询字符串
正确的值(使用一些不同的工作代码)是将查询字符串重写为"search = he%u0159m%u00e1nek"
注意两个字符串之间的区别.但是,如果您同时发布,则会看到Url Encoding会重现相同的字符串.直到你使用编码中断的context.Rewrite函数.断开的字符串返回'heÅmánek'(使用Request.QueryString ["Search"],工作字符串返回'heřmánek'.这个改变发生在调用重写函数之后.
我使用Request.QueryString(工作)跟踪到一组代码,另一组使用Request.Url.Query(request.Url返回一个Uri实例).
虽然我已经解决了这个问题,但我的理解还有一个漏洞,所以如果有人知道这个差异,我就准备好了.
我有一个看起来像这样的动作方法:
public ActionResult Index(string message)
{
if (message != null)
{
ViewBag.Message = message;
}
return View();
}
Run Code Online (Sandbox Code Playgroud)
发生的事情是,对此请求的URL将如下所示:
www.mysite.com/controller/?message=Hello%20world
Run Code Online (Sandbox Code Playgroud)
但我希望它只是看起来
www.mysite.com/controller/
Run Code Online (Sandbox Code Playgroud)
有没有办法删除actionmethod中的查询字符串?
我有一个ExtJS应用程序,它使用一些查询字符串参数调用.我想知道如何使用ExtJS 4读取这些参数及其值.
我的ExtJS应用程序URL将如下所示:
http://localhost:8080/myapp?candidate_id=101&candidate_id=102&candidate_id=103
Run Code Online (Sandbox Code Playgroud) 我想在网址中的问号后得到所有内容.我已经看到了一种方法,它不需要一个功能,但在我的生活中找不到它.
网址
fsdhfbsdfj/index.html?hello
Run Code Online (Sandbox Code Playgroud)
得到
hello
Run Code Online (Sandbox Code Playgroud) 我相信Java的URI.resolve方法的定义和实现与RFC 3986第5.2.2节不兼容.我知道Java API定义了该方法的工作方式,如果它现在被更改,它会破坏现有的应用程序,但我的问题是:任何人都可以确认我的理解这个方法与RFC 3986不兼容吗?
我正在使用这个问题中的示例:java.net.URI仅针对查询字符串进行解析,我将在此处复制:
我正在尝试使用JDK java.net.URI构建URI.我想附加一个绝对URI对象,一个查询(在String中).例如:
URI base = new URI("http://example.com/something/more/long");
String queryString = "query=http://local:282/rand&action=aaaa";
URI query = new URI(null, null, null, queryString, null);
URI result = base.resolve(query);
Run Code Online (Sandbox Code Playgroud)
理论(或我认为)是决心应该回归:
http://example.com/something/more/long?query=http://local:282/rand&action=aaaa
Run Code Online (Sandbox Code Playgroud)
但我得到的是:
http://example.com/something/more/?query=http://local:282/rand&action=aaaa
Run Code Online (Sandbox Code Playgroud)
我对RFC 3986第5.2.2节的理解是,如果相对URI的路径为空,那么将使用基URI的整个路径:
if (R.path == "") then
T.path = Base.path;
if defined(R.query) then
T.query = R.query;
else
T.query = Base.query;
endif;
Run Code Online (Sandbox Code Playgroud)
并且仅当指定了路径时才是要与基本路径合并的相对路径:
else
if (R.path starts-with "/") then
T.path = remove_dot_segments(R.path);
else
T.path = merge(Base.path, R.path);
T.path = remove_dot_segments(T.path);
endif; …Run Code Online (Sandbox Code Playgroud) 如果我有一个CSON模型类,JSON.net使用它来绑定序列化JSON字符串中的数据,有没有办法可以从该类创建一个查询字符串以便发出初始请求?
模型类示例:
public class model
{
[JsonProperty(PropertyName = "id")]
public long ID { get; set; }
[JsonProperty(PropertyName = "some_string")]
public string SomeString {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
查询字符串示例:
baseUrl + uri + "&fields=id,some_string" + token
Run Code Online (Sandbox Code Playgroud)
所以我想要做的就是从模型对象中收集"id"和"some_string",这样我就可以动态地创建一个"&fields"参数.谢谢!
我在GlassFish上使用JSF 2和PrimeFaces 2.1.
我有一个页面,旨在允许人们在关注回调URL后执行操作(例如,作为电子邮件中嵌入的链接或某些外部身份验证或支付服务的回调URL参数).在我的情况下,我需要重置密码.回调URL有一个tokenGET参数,如下所示:
http://example.com/app/resetPasswordForm.jsf?token=abc123
在页面加载时resetPasswordForm.jsf,我需要检查令牌是否有效并重定向到主应用程序屏幕,如果它无效.
我的想法是有一个bean方法,如:
public String resetPasswordHandler.showResetForm(String token) {
if /* token is valid */ {
return "resetPasswordForm.jsf";
} else {
return "main.jsf";
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如何在页面加载时使该方法受到影响?
不知道如何进行 - 欢迎提出建议.
我的目标是将某些查询字符串属性及其值"白名单",以便清除不会改变网址之间的缓存.
例:
Url 1: http://foo.com/someproduct.html?utm_code=google&type=hello
Url 2: http://foo.com/someproduct.html?utm_code=yahoo&type=hello
Url 3: http://foo.com/someproduct.html?utm_code=yahoo&type=goodbye
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,我想将"utm_code"列入白名单,但不要"输入".因此,在第一个网址被点击后,我希望varnish将缓存的内容提供给第二个网址.
但是,在第三个url的情况下,属性"type"值不同,因此应该是清漆缓存未命中.
我已经尝试了下面的两种方法(在我现在找不到的drupal帮助文章中找到)似乎不起作用.可能是因为我有正则表达式错误.
# 1. strip out certain querystring values so varnish does not vary cache.
set req.url = regsuball(req.url, "([\?|&])utm_(campaign|content|medium|source|term)=[^&\s]*&?", "\1");
# get rid of trailing & or ?
set req.url = regsuball(req.url, "[\?|&]+$", "");
# 2. strip out certain querystring values so varnish does not vary cache.
set req.url = regsuball(req.url, "([\?|&])utm_campaign=[^&\s]*&?", "\1");
set req.url = regsuball(req.url, "([\?|&])foo_bar=[^&\s]*&?", "\1");
set req.url = regsuball(req.url, "([\?|&])bar_baz=[^&\s]*&?", "\1");
# get …Run Code Online (Sandbox Code Playgroud) query-string ×10
c# ×2
javascript ×2
.net ×1
.net-3.5 ×1
apache ×1
asp.net ×1
asp.net-mvc ×1
extjs4 ×1
http-get ×1
java ×1
jsf ×1
jsf-2 ×1
json ×1
json.net ×1
mod-rewrite ×1
regex ×1
relative-url ×1
rfc3986 ×1
routing ×1
uri ×1
url ×1
varnish ×1
varnish-vcl ×1