标签: urlencode

javascriptencodeURIComponent 返回附加字符

由于某种原因,我在使用 javascriptencodeURIComponent 函数的编码 URI 中获取了额外的代码,即 %25 字符:

我的职能是:

function twit_click() {
    var u="https://www.website.com/<?php echo $_SESSION['id'];?>";
    var t="sometext";
    window.open('http://www.twitter.com/share?url='+encodeURIComponent(u)+'&text='+encodeURIComponent(t),'twitsharer','toolbar=0,status=0,width=626,height=436');
    return false;   
}
Run Code Online (Sandbox Code Playgroud)

当我单击文本并调用 twit_click() 函数时,我得到以下 URL:

http://twitter.com/intent/tweet?text=sometext&url=https%253A%252F%252Fwww.website.com%252Fuserid

相反,它应该是:

http://twitter.com/intent/tweet?text=sometext&url=https%3A%2F%2Fwww.website.com%2Fuserid

我错过了什么吗?它添加了额外的“25”字符,这意味着我的 URI 中有 %,但我显然没有。

javascript url uri urlencode

5
推荐指数
1
解决办法
3682
查看次数

锚元素的 URL 编码“href”属性是否必要?

我检查了我的网页的 HTML 代码,并使用Firefox 的 HTML Validator 附加组件对其进行了验证,我发现它抱怨href链接的属性,其中包含 Unicode 字符,这些字符不是 URL 编码的。

\n\n

当前的网址是:

\n\n
<a href=\'/\xd8\xa7\xd8\xae\xd8\xa8\xd8\xa7\xd8\xb1\'>Persian News</a>\n
Run Code Online (Sandbox Code Playgroud)\n\n

然而,验证者希望它是:

\n\n
<a href=\'/%D8%A7%D8%AE%D8%A8%D8%A7%D8%B1\'>Persian News</>\n
Run Code Online (Sandbox Code Playgroud)\n\n

我已经在几乎所有浏览器(甚至回到 IE6)中测试了此链接。它工作得很好。那么,这里有什么问题呢?我为什么要对其进行编码?验证器是否已过时?href如果标签属性中的 Unicode 字符未进行 URL 编码,我可能会遇到什么问题<a>

\n

html url uri urlencode

5
推荐指数
2
解决办法
5983
查看次数

JavaScript:根据 RFC4648 的 base64url

我正在根据 JavaScript 中的RFC4648寻找 base64url 的(快速)标准实现。

到目前为止我想出了:

var base64url = window.btoa(url).replace(/\//g, '_').replace(/\+/g, '-').replace(/=/g, '');
Run Code Online (Sandbox Code Playgroud)

有什么更快的吗?

javascript base64 urlencode url-encoding

5
推荐指数
0
解决办法
935
查看次数

如何在 JS 中对 URL 进行编码并在 PHP 中进行解码?

以下是我的JS代码:

window.location.href = 'products.php?price_range=-INFto2000,2001to5000';
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在 javascript 中对 URL 进行编码并在 PHP 中对其进行解码,这样我的浏览器的导航栏就会显示

“products.php?price_range=-INFto2000%2C2001to5000”

代替

“products.php?price_range=-INFto2000,2001to5000”

我的 php 代码将能够使用-INFto2000,2001to5000in的正确值$_GET['price_range']

javascript php urlencode urldecode

5
推荐指数
1
解决办法
2万
查看次数

无法解析带有 # url 的查询参数

无法解析带有 # 的 url 的查询字符串参数。

http://www.example.com/txn/#/user/399AC2F1BB3241823B5E48205C0657FC?utm_source=campaign&utm_medium=testmedium&page=user
Run Code Online (Sandbox Code Playgroud)

URLEncodedUtils.parse 返回零结果。

甚至 URL.getQuery() 也给出 null。

任何通过从 url 中显式删除 # 来解析它的方法。

java url urlencode

5
推荐指数
1
解决办法
1438
查看次数

使用 python 的 urllib.urlencode() 时如何转义某些字符?

我有一本字典,我想将其编码为查询参数。我正在访问的服务器期望查询如下所示:http://www.example.com?A=B,C

但是当我尝试使用urllib.urlencode构建 URL 时,我发现逗号变成了%2C

>>> import urllib
>>> urllib.urlencode({"A":"B,C"})
'A=B%2CC'
Run Code Online (Sandbox Code Playgroud)

有什么方法可以转义逗号,以便urlencode将其视为普通字符吗?

如果没有,我该如何解决这个问题?

python urllib urlencode

5
推荐指数
2
解决办法
6065
查看次数

java.lang.IllegalArgumentException:非法的base64字符a

我有这个字符串数据要进行 Base64 解码

String mfstr = "BZCaRm9ChAbA58sgSwlhzgVuPwboh2qvgcPuLxKJkLpesdHvyZtaheThUSw6%2BHItGBtgimHpXqbn%0ApggBaRR2wisjNiyQrX03eEJlet6%2BqFL6TouRr0wW3NLRZSHOHUSFtJkpq0cyXy%2FSfMVB47y93xlq%0Az845uXSTK2Vi%2FgzwFVphHd%2BTK%2FrO%2FDxJ4EfvAoW0zxeYS%2BCWnIsl%2F4ILehVYasGtxC%2FjbG1I8S%2Fc%0AZoqXIcPmPWrszbG7R1ouDQ473TyCMLx9PBsl1Z%2Bj39V4Qr01ZRw7GVP2m%2Bk4xrHg2Im1OuXpd2vl%0AKGwe5j2T1ZHtoYxCvXOOU1YeJYSR%2Ff7Kd7KbpnjvFT2Ua%2FOdHx%2FKzBoK3Yk97fdvMcelUGMxveKq%0A8C9aCXFVU1xjK81CwB72QWkK5%2B8DCjItVDFcpnVFnhk8ZwlYKU6o8jETDockNMKiDmBYqKGpnNII%0ACnQBGiWy0inWj40k8VoFNIuVK1yYzLoVvFrYR514Ex6U2AK00c0f7C2C5vISsOEp%2BW8KHG2hFW7G%0A97IgwnX3vtQc0s0SaZ%2B7SPgbxwUujlULaOa0t5W9ZDs9b7jDyBZA7m8DiFrLH2YpzpBhrHXcw%2B%2BZ%0A";

String carg = URLDecoder.decode(mfstr, "UTF-8");

byte[] v5 = Base64.getDecoder().decode(carg.getBytes());

Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我收到错误:java.lang.IllegalArgumentException: Illegal base64 character a,到目前为止我已尝试传递StandardCharsets.UTF_8carg.getBytes()没有任何结果。我在这里做错了什么?

java base64 encoding urlencode character-encoding

5
推荐指数
1
解决办法
2万
查看次数

如何在python中将字符串转换为url

我有一个具有以下格式的字符串:foo://bar_baz.
我需要将整个字符串编码为 URL 友好。现在我正在这样做(正如大多数答案似乎指出的那样):

from urllib.parse import urlencode
mydict = {'q': 'foo://bar_baz'}
urlencode(mydic)
Run Code Online (Sandbox Code Playgroud)

返回:

'q=foo%3A%2F%2Fbar_baz'
Run Code Online (Sandbox Code Playgroud)

我可以毫无问题地使用它,但必须定义一个字典并分配一个q我不会使用的键(在本例中)似乎违反直觉/额外的步骤。此外,我需要完成正确解析输出的步骤以删除 ,q= 因为我只需要对 key 的值进行编码q。分割q=可以做到这一点,但如果 foo/bar/baz 实际上是怎么办fooq=?它可能会破坏东西。

我希望做类似的事情:

# pass a string instead of a dict
encoded_string = urlencode("foo://bar_baz")
Run Code Online (Sandbox Code Playgroud)

但这当然会引发错误。

python url urlencode

5
推荐指数
1
解决办法
8042
查看次数

如何使用Python对字符串进行编码和解码以在URL中使用?

我有一个像这样的字符串:

String A: [ 12234_1_Hello'World_34433_22acb_4554344_accCC44 ]
Run Code Online (Sandbox Code Playgroud)

我想加密字符串A以在干净的URL中使用.这样的事情:

String B: [ cYdfkeYss4543423sdfHsaaZ ]
Run Code Online (Sandbox Code Playgroud)

python中是否有编码API,给定字符串A,它返回String B?在python中是否有解码API,给定String B,它返回String A?

python string hash urlencode clean-urls

4
推荐指数
5
解决办法
2万
查看次数

将西里尔字符作为URL参数传递

我需要将Cyrillic字符作为参数传递到我的iPhone应用程序中的URL中.示例网址如下所示:

http://www.mysite.com/script.php?message =страшная

当我在浏览器中使用此URL时,它会返回正确的结果.但是,在我的应用程序中,西里尔字母不受欢迎,我最终在didFailWithError代码中得到一个"坏网址" .

我在浏览器中尝试了几种编码来解决这个问题,但没有运气.有没有办法通过iPhone应用程序实际发送上面的确切URL示例?我正在使用的代码片段是:

selectedWord = @"????????";
NSString *requestURL = [NSString stringWithFormat:@"http://www.mysite.com/script.php?message=%@", selectedWord];
NSLog (requestURL);
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:requestURL]];

[[NSURLConnection alloc] initWithRequest:request delegate:self];
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,为了调试目的,我在NSString*selectedWord中硬编码了西里尔字.在实际应用中,它将基于用户输入而动态.

我尝试了一个更复杂的POST,认为我可以将西里尔文作为数据而不是文本传递,但要么我做错了,要么它也不起作用.

有关编码的任何示例我可以在我的浏览器中尝试,然后在应用程序中实现将是有帮助的.我意识到西里尔字母在NSURL中被拒绝,但我希望通过不同的代码或编码来绕过它.

iphone urlencode nsurlrequest

4
推荐指数
1
解决办法
4242
查看次数