问题标签 [percent-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.
python - 如何防止 python 请求对我的 URL 进行百分比编码?
我正在尝试在 python 中使用 requests.get() 获取以下格式的 URL:
http://api.example.com/export/?format=json&key=site:dummy+type:example+group:wheel
但是,URL 得到了百分比编码,我没有得到预期的响应。
如果我直接传递 URL,则此方法有效:
有没有办法以原始形式传递参数 - 没有百分比编码?
谢谢!
c# - Uri.EscapeDataString 怪异
为什么 EscapeDataString 在 .NET 4 和 4.5 之间的行为不同?输出是
Uri.EscapeDataString("-_.!~*'()") => "-_.!~*'()"
Uri.EscapeDataString("-_.!~*'()") => "-_.%21~%2A%27%28%29"
文档
默认情况下,EscapeDataString 方法将除 RFC 2396 未保留字符之外的所有字符转换为其十六进制表示形式。如果启用国际资源标识符 (IRI) 或国际化域名 (IDN) 解析,则 EscapeDataString 方法会将所有字符(RFC 3986 未保留字符除外)转换为其十六进制表示。所有 Unicode 字符在转义之前都会转换为 UTF-8 格式。
作为参考,未保留字符在RFC 2396中定义如下:
在RFC 3986中:
源代码
看起来EscapeDataString的每个字符是否被转义大致是这样确定的
在最后检查“是一个非保留字符”时,在 RFC2396 和 RFC3986 之间进行选择。该方法的源代码逐字是
该代码指的是
混乱
文档说 EscapeDataString 的输出取决于是否启用了 IRI/IDN 解析,而源代码说输出由TargetsAtLeast_Desktop_V4_5
. 有人可以解决这个问题吗?
ios - NSURLComponents 获取百分比编码
根据以下文件NSURLComponents
:
如果设置未编码的属性,则可以通过读取编码的属性值来获得编码的等效值,反之亦然。
我试图获取查询的百分比编码版本和 url 的路径,但我错过了一些东西:
我在哪里失败?
apache - 使用 .htaccess 纠正错误编码的传入链接
我们已经开始获取导致 404 错误的传入链接,因为问号被编码为%253F
和等号是%253D
。
有没有办法在 .htaccess 中进行 301 重定向,将这些不正确的编码换成正确的编码?
ios - NSString 到 NSURL 返回 false
我有一个字符串中的 URL:http://bs.serving-sys.com/BurstingPipe/adServer.bs?cn=is&c=23&pl=VAST&pli=10226041&PluID=0&pos=6670&ord=%5B1423164382.84%5D&cim=1
我正在尝试将该字符串转换为NSURL
.
我尝试了几件事,它们是:
当我使用断点跟踪 URL 对象时,它分配 0 => false。
我应该怎么做才能将该字符串转换为NSURL
?
php - 将整个 PHP 字符串百分比编码为编号的 ASCII 值以进行混淆
我想以某种方式掩盖其内容,$url = "http://blah.somedomain.com/contents/somefolder/somefile.htm";
以便我可以将它们用于链接,但这样在查看页面源时,人类不容易阅读这些 URL。当点击它时,混淆的 URL 仍然需要在浏览器中工作,所以我看过的其他混淆方法并不好。
我们追求的是例如$obscureurl = "%3A%2F%2F"
...等
有任何想法吗?谢谢。
编辑:到目前为止,感谢您的建议,但为了澄清,我应该说我不是在编码成 HTML 实体(# 值)之后,而是在百分比编码(ASCII 中的十六进制值)之后。
例如,更改hello@me.com
为:%68%65%6c%6c%6f%40%6d%65%2e%63%6f%6d
每个字母和符号的十六进制的 ASCII 表在这里:http: //ascii.cl/
用 PHP 可以实现这种完全转换吗?谢谢
python - Python 仅对 URL 中的某些字符进行百分比编码
#
如果它出现在给定的 url 中,我必须只对字符进行百分比编码。我知道我们可以使用urllib.quote
. 它需要一个safe
关键字来设置特定字符以对 URL 安全。我正在寻找类似的东西:
问候。
unicode - 如何使用包含扩展字符的主机名形成 URI 以访问网络机器
我在本地网络上有一些 Windows 7 机器,每台机器都有一个主机名。其中一个是运行 Java 8 应用程序,该应用程序必须通过 HTTP 访问另一台机器,因此它需要形成一个包含服务器机器主机名的 URI。运行 HTTP 服务器的机器有一个包含日文字符的主机名,这些字符在 URI 中是不允许的。
如何构造 URI 以访问本地网络上的服务器?RFC 4501,“域名系统统一资源标识符”,表示根据 RFC 3986,“统一资源标识符 (URI):通用语法”进行编码,我将其推断为 UTF-8 八位字节的百分比编码。但是 RFC 3490,“应用程序中的国际化域名 (IDNA)”,表示要转换为 Punycode。
那么它是百分比编码还是 Punycode 呢?哪种编码允许 Java 应用程序成功查找并连接到本地网络上的另一台 Windows 7 机器,主机名中包含扩展字符?
objective-c - Objective-C URL 字符串包含单个百分号
我有一个以百分号(%)结尾的字符串,
此字符串是为 URL 请求准备的参数:
请求返回nil
。
我试过了:
和
我怎么可能只有 1% 转换为请求 url?
任何意见,将不胜感激。