问题标签 [url-encoding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache - 网址中的问号(Apache)
我对 url 中的问号有疑问。
例如:我有 url test.com/controller/action/part_1%3Fpart_2
(其中 %3F 是 url 编码的问号),并且使用这个重写规则:RewriteRule .* index.php/$0 [PT]
,它应该按原样传递给我使用的框架(Kohana)。至少我是这么认为的。
问题是 url 编码的问号之后的所有内容都被视为 GET 参数,所以 Kohana 只接收并且part_1
我可以看到part_2
. $_GET
我认为这是网络服务器问题(apache 2.2)。
我应该怎么做 apache 不会将 url 编码的问号视为 GET 参数指示符?
javascript - 如何在 JavaScript 中正确编码 URL?
我正在开发一个浏览器插件,它将当前页面的 URL 或任何选定的链接作为参数并将其发送到我们的服务器。当 url 中出现基本拉丁字母的字符时(如http://en.wikipedia.org/wiki/Vehicle),该插件可以正常工作。但是,当 URL 包含来自其他字母的字符(例如http://ru.wikipedia.org/wiki/Коляска )时,插件不起作用,我确实使用了该encodeURIComponent
方法,但这似乎并不能解决问题。任何的想法?
谢谢,
奥利维尔。
apache - mod_rewrite 规则强制执行规范的百分比编码
我们有一个带有动态 URL 方案的 PHP 应用程序,它需要对字符进行百分比编码,甚至是“非保留字符”,例如实际上不需要编码的括号或撇号。应用程序认为以“错误”方式编码的 URL 被规范化,然后重定向到“正确”编码。
但是谷歌和其他用户代理将以不同的方式规范百分比编码/解码,这意味着当 Googlebot 请求页面时,它会要求“错误”的 URL,当它返回到“正确”URL 的重定向时,Googlebot 将拒绝跟随重定向并将拒绝索引该页面。
是的,这是我们这边的一个错误。HTTP 规范要求服务器同等对待百分比编码和非百分比编码的未保留字符。但是现在解决应用程序代码中的问题并不简单,所以我希望通过使用 Apache 重写规则来避免代码更改,这将确保从应用程序的角度“正确”编码 URL , 这意味着撇号、括号等都是百分比编码的,并且空格被编码为+
而不是%20
。
这是一个例子,我想重写第一种形式并最终得到第二种形式:
- www.splunkbase.com/apps/All/4.x/Add-On/app:OPSEC+LEA+for+Check+Point+(Linux)
- www.splunkbase.com/apps/All/4.x/Add-On/app:OPSEC+LEA+for+Check+Point+%28Linux%29
这是另一个:
- www.splunkbase.com/apps/All/4.x/app:Benford's+Law+Fraud+Detection+Add-on
- www.splunkbase.com/apps/All/4.x/app:Benford%27s+Law+Fraud+Detection+Add-on
这是另一个:
- www.splunkbase.com/apps/All/4.x/app:Benford%27s%20Law%20Fraud%20Detection%20Add-on
- www.splunkbase.com/apps/All/4.x/app:Benford%27s+Law+Fraud+Detection+Add-on
如果应用只看到这些 URL 的第二种形式,则它不会发送任何重定向,Google 将能够为该页面编制索引。
我是一个有重写规则的新手,从我对mod-rewrite 文档的阅读中很明显,mod_rewrite 做了一些自动编码/解码,这可能有助于或伤害我想做的事情,尽管不确定。
关于重写规则以处理上述情况的任何建议?我可以为每个特殊字符设置一个规则,因为它们并不多,但是一个规则(如果可能的话)将是理想的。
java - java.net.URI 阻塞主机部分的特殊字符
我有一个 URI 字符串,如下所示:
我正在用这个字符串创建一个 java.lang.URI 实例并且它成功但是当我想检索主机时它返回 null。如果我完全按照上图所示输入,Opera 和 Firefox 也会在这个 URL 上阻塞。但是如果 URI 类无效,它不应该抛出 URISyntaxException 吗?那么如何检测到 URI 是非法的呢?
当我使用产生的 URLDecoder 解码字符串时,它的行为也相同
http: //www.christlicheparteiösterreichs.at/steiermark/
现在这已被 Opera 和 Firefox 接受,但 java.net.URI 仍然不喜欢它。我该如何处理这样的 URL?
谢谢
c# - 完整的C#菜鸟,VS2010,不能使用HttpServerUtility.UrlEncode?
所以,我完全是 C# 的菜鸟。我有一个 url,我需要对其进行编码才能使用 urlencoded 帖子。
问题是,我发现的每个资源都说要使用 System.Web.HttpServerUtility.UrlEncode。或者,我看到资源告诉我使用 System.Web.Util.HttpEncoder()。
我添加了对 system.web 的引用,但出现“system.web 命名空间中不存在”和“system.web.util 命名空间中不存在”错误。
任何提示都会很好!
asp.net - NameValueCollection 到 URL 查询?
我知道我能做到
但是有没有办法将其转换回网址?
.net - 在 Request.Url 中过早解码的带有 url 编码 & 的查询字符串
给定 url /Page.aspx?a=b&title=apples+%26+pears
,Request.Url
属性返回/Page.aspx?a=b&title=apples+&+pears
请注意,第二个键值对中的 url 编码 & 符号已被自动解码。其他 url 编码的保留字符不会被自动解码。
这种行为正确吗?
编辑:问题是 Request.Url 属性在我不希望它时自动解码编码的&符号。
回答: string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Host, Sitecore.Context.Request.RawUrl)
url - 在 GET 请求中传递 URL 时不进行 url 编码有什么影响?
我刚刚在我的浏览器上尝试了以下 URL:http://www.google.com/search?hl=en&q=http://www.yahoo.com/path/to/location
它有效!是什么让它发挥作用?除了用 + 或 %20 等替换空格之外,为什么还要对 URL 进行编码?也就是说,即使我没有任何有效 URL 中不允许的字符,我是否仍需要对我的 URL 进行编码?
谢谢你的时间。
urlencode - 防止 YQL 对密钥进行 URL 编码
我想知道是否可以防止 YQL 对数据表的键进行 URL 编码?
示例:
当前的监护人 API 使用如下 ID:
这些 ID 的问题在于它们包含斜杠 (/),并且这些字符不应在 API 调用中进行 URL 编码,而应保持原样。
所以如果我现在有这个查询
在我的数据表中使用以下url
定义
那么这会导致这个 API 调用
http://content.guardianapis.com/environment%2F2010%2Foct%2F29%2Fbiodiversity-talks-ministers-nagoya-strategy?format=xml&order-by=newest&show-fields=all
相反,监护人 API 期望调用如下所示:
http://content.guardianapis.com/environment/2010/oct/29/biodiversity-talks-ministers-nagoya-strategy?format=xml&order-by=newest&show-fields=all
所以问题实际上只是/
字符被编码为%2F
我不想在这种情况下发生。
关于如何实现这一点的任何想法?
您还可以检查我正在使用的完整数据表:
http://github.com/spier/yql-tables/blob/master/guardian/guardian.content.item.xml
utf-8 - 基于代码页的不同查询字符串 urlencoding。ASP 经典
我们目前正在将我们的 webapp 从 ISO-8859-1 转换为 UTF-8。一切都很好,但从其他站点(注册表单)请求获取/发布变量。
其中一些发布到我们网站的网站使用 ISO-8859-1 编码,而有些网站使用 UTF-8。
问题是特殊字符的 URL 编码会因站点字符集而异。
例如: ø = ISO-8859-1 中的 %F8 ø = UTF-8 中的 %C3%B8
当我有 UTF-8 字符集时,我无法正确获得 %F8。我只得到一个 Unicode 字符“替换字符”(U+FFFD)。
任何有关如何解决此问题的提示将不胜感激:)
托比约恩