问题标签 [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.
vbscript - How to judge if a URL is already encoded with encodeURI?
I'm trying to do it in VBScript/JScript, to avoid re-encoding.
Should I judge if there is "%" ? Does "%" have other uses in URL?
Thanks.
Edit: Oh, the original encoding function may not be encodeURI.
I'm trying to collect URLs from the browser, and store them after encoding with encodeURI.
But if the URL is already encoded, another encoding will make it wrong.
url - 无法在 URL 中允许这些字符:- % / \ # +
关于系统
我的项目中有这种格式的 URL:-
其中keyword/class
pair表示使用“class”关键字进行搜索。
以下是我的 htaccess 文件:-
我有一个通用的 index.php 文件,它为项目中的每个模块执行。只有一个重写规则可以从 URL 中删除 index.php(如上所示)。
我没有使用任何 htaccess 重写规则来定义 $_GET 数组。我在 PHP 中有一个 URL 解析器函数来代替它。对于我给出的示例 URL,解析器返回:-
我在准备搜索 URL 时使用 urlencode(),在阅读搜索 URL 时使用 urldecode()
问题
我遇到了 URL 中某些字符的问题
我想允许所有这些字符。可能是什么问题呢?我如何允许这些?请帮助谢谢, Sandeepan
更新
现在只有 / 字符会导致 URL 中断(像以前一样的 404 错误)。因此,我尝试删除隐藏在 URL 中的 index.php 的 htaccess 重写规则,并尝试使用完整的 URL。class/new
对于我尝试使用以下两个 URL的搜索词:-
第一个有效,但第二个无效。注意index.php?browse_by_exam
第一个。
但我不能使用第一个 URL 约定。我必须隐藏 / 使用 index.php。请帮忙
再次感谢桑迪潘
编辑(已解决)
考虑到 Bobince 对我的另一个问题的回答
urlencoded 正斜杠破坏了 URL
,我觉得最好有这样的 URL:-
http://project_name/browse_by_exam?type/tutor_search/keyword/class
%2Fnew/new_search/1/search_exam/0/search_subject/0
这样我就摆脱了由¶m1=value1¶m2=value2
约定引起的可读性困难,并且还能够通过使用允许在查询字符串部分使用正斜杠?
我想避免 AllowEncodedSlashes 因为 Bobince 说Also some tools or spiders might get confused by it. Although %2F to mean / in a path part is correct as per the standard, most of the web avoids it.
.htaccess - urlencoded 正斜杠破坏了 URL
关于系统
我的项目中有这种格式的 URL:-
其中关键字/类对意味着使用“类”关键字进行搜索。
我有一个通用的 index.php 文件,它为项目中的每个模块执行。从 URL 中删除 index.php 只有一个重写规则:-
我在准备搜索 URL 时使用 urlencode(),在阅读搜索 URL 时使用 urldecode()。
问题
只有正斜杠字符会破坏 URL,导致 404 page not found 错误。例如,如果我搜索one/two
的 URL 是
我该如何解决?我需要将 index.php 隐藏在 URL 中。否则,如果不需要,正斜杠不会有问题,我可以使用这个 URL:-
twitter - Twitter Oauth URL 编码不一致?
我正在阅读http://dev.twitter.com/pages/auth上的演练,但在编码回调 URL 时似乎存在不一致。回调被列为:
oauth_callback - http://localhost:3005/the_dance/process_callback?service_provider_id=11
签名基本字符串列为:
POST&...oauth_callback%3D http%253A%252F%252Flocalhost%253A3005%252Fthe_dance%252Fprocess_callback%253Fservice_provider_id%253D11 %26oauth_consumer_key%3D...
回调在这里似乎是双重编码的。
签名的授权标头列为:
OAuth oauth_nonce="QP70eNmVz8jvdPevU3oJD2AfF7R7odC2XJcn4XlZJqk", oauth_callback=" http%3A%2F%2Flocalhost%3A3005%2Fthe_dance%2Fprocess_callback%3Fservice_provider_id%3D11 ", ...
在这里,回调似乎是单个 URL 编码的。为什么它们不一致?
c# - 十六进制 URL 解码器 c#
我有一个像 http%3A%2F%2Fwww%2Ewikimoveis%2Ecom%2Ebr%2Ffotos%2F1292%2FKO2551%2FDSC01366%2EJPG 这样的网址
我需要让它正确解码。我相信那是十六进制。找不到任何可以做到这一点的 C# 代码。
谢谢你
.net - URI 中的转义 +(加号)
当用户在我的网站上输入电子邮件时,我会发送一封包含链接的电子邮件验证电子邮件。链接看起来像:
http://mysite.com/VerifyEmail?email=name@domain.com&token=12341234
此特定用户的电子邮件包含“+”(加号),因此链接如下所示:
http://mysite.com/VerifyEmail?email=foo+bar@domain.com&token=12341234
单击链接时(至少在 Firefox 中),加号被替换为空格。
问题:我在 .net 中使用什么 URL 编码函数来转义加号。
注:Uri.EscapeUriString(email)
叶加完好。
asp.net-mvc - ASP.NET MVC - 搜索条件作为路由参数而不是查询字符串 - 非法字符
我问了一个关于如何在没有 JavaScript 的情况下优化我对 SEO 和用户的搜索的问题,我通过使用找到了答案RedirectToAction
但是,在这样做的过程中,我发现了一个需要解决的新问题。
如果我提交搜索
“敏捷的棕色狐狸跳过了懒惰的狗”
(试图用完整短语的“引号”模仿谷歌)
该应用程序在我身上爆炸(YSOD)
路径中的非法字符。
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
网址看起来像这样(Firefox)
http://localhost/search/ “快速棕色狐狸跳过懒狗”
我尝试使用Url.Encode
,但也没有用......网址看起来像
http://localhost/search/%2522the%2bquick%2bbrown%2bfox%2bjumped%2bover%2bthe%2blazy%2bdogs%2522
错误说
“/”应用程序中的服务器错误。
HTTP 错误 400 - 错误请求。
我想念的东西一定很明显。异常详细信息:System.ArgumentException:路径中有非法字符。
python - 使用 Python 进行 URL 编码/解码
我正在尝试在 Python 中编码、存储和解码参数,并在此过程中迷路。这是我的步骤:
1)我使用谷歌工具包gtm_stringByEscapingForURLArgument
正确转换 NSString 以传递到 HTTP 参数。
2)在我的服务器(python)上,我将这些字符串参数存储为类似的东西u'1234567890-/:;()$&@".,?!\'[]{}#%^*+=_\\|~<>\u20ac\xa3\xa5\u2022.,?!\''
(请注意,这些是“123”视图和“#+=”视图中 iphone 键盘上的标准键,其中的\u
和\x
字符一些货币前缀,如英镑、日元等)
3)我调用urllib.quote(myString,'')
该存储值,大概是为了将它们转义以传输到客户端,以便客户端可以不百分比地转义它们。
结果是当我尝试记录 % 转义的结果时出现异常。是否有一些我忽略的关键步骤需要应用于具有 \u 和 \x 格式的存储值,以便正确转换它以通过 http 发送?
更新:标记为以下答案的建议对我有用。不过,我正在提供一些更新以解决下面的评论以使其完整。
我收到的异常引用了\u20ac
. 我不知道这是否是一个问题,而不是它是字符串中的第一个 unicode 字符这一事实。
该\u20ac
字符是“欧元”符号的 unicode。我基本上发现除非我使用 urllib2quote
方法,否则我会遇到问题。
asp.net - 我有一个不转换为正确编码的查询字符串值?
我实际上在查询字符串参数中传递了 Göte,该参数在 url 字段中转换为 G%F6te。在页面中,它实际上显示了一个通用处理程序:
盖特
如何修复它,使其显示 Göte?
- - - - - 编辑 - - - - - - - -
当我对页面进行 ajax 调用时它实际上工作正常,但是当我直接更改查询字符串参数时它不会。
regex - Plus signs being replaced for %252520
When I click on my index'd pages in Google the plus signs in my query string are being replaced (encoded?) for %252520.
Anyone know why?
Example:
should be
I have heard that this is a result of redirecting my urls in htaccess?