标签: urlencode

如何在jQuery/JavaScript中编码URL并在ASP.NET中解码

如何使用JavaScript安全地对URL进行编码,以便将其放入GET字符串?

这是我在jQuery中所做的:

var url = "mynewpage.aspx?id=1234";
$(location).attr('href', url);
Run Code Online (Sandbox Code Playgroud)

在ASP.NET page_load中,我正在读这个:

_string _id = Request.QueryString["id"].ToString();
Run Code Online (Sandbox Code Playgroud)

如何在jQuery/JavaScript中编码id并在ASP.NET(C#)中解码?

javascript c# asp.net jquery urlencode

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

URL编码应该使用什么字符集?

我需要对 URL 组件进行编码。URL组件可以包含“?、#、=”等特殊字符,也可以包含中文字符。

我应该使用哪种字符集:UTF-8、UTF-16 还是 UTF-32?为什么?

java urlencode

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

Javascript - encodeURI() 在不同的浏览器中返回不同的结果

我使用 encodeURI() 对 php 请求 url 进行编码,它在 Firefox 和 Chrome 中工作得很好,但在 IE/Edge 中却没有。

实际网址是: http://localhost/get.php?id=e_e2&title=e2&desc=just a note&stime=6/12/2015, 1:00:00 AM&etime=15/12/2015, 1:00:00 PM

Firefox 返回的是(有效): http://localhost/get.php?id=e_HO%20Event%201&title=HO%20Event%201&desc=This%20is%20just%20a%20test%20event%20of%20this%20handover%20only&stime=6/12/2015,%201:00:00%20AM&etime=10/12/2015,%201:00:00%20PM

IE 返回什么(破坏 php 代码): http://localhost/get.php?id=e_HO%20Event%201&title=HO%20Event%201&desc=This%20is%20just%20a%20test%20event%20of%20this%20handover%20only&stime=%E2%80%8E6%E2%80%8E/%E2%80%8E12%E2%80%8E/%E2%80%8E2015%E2%80%8E%20%E2%80%8E1%E2%80%8E:%E2%80%8E00%E2%80%8E:%E2%80%8E00%E2%80%8E%20%E2%80%8EAM&etime=%E2%80%8E10%E2%80%8E/%E2%80%8E12%E2%80%8E/%E2%80%8E2015%E2%80%8E%20%E2%80%8E1%E2%80%8E:%E2%80%8E00%E2%80%8E:%E2%80%8E00%E2%80%8E%20%E2%80%8EPM

我试图解码 IE 返回的内容,但它给我带来了很多问题!,那么有没有 encodeURI() 的替代方法?,即使我不对 url 进行编码,FF 似乎也可以工作,如果我复制 FF 编码,IE 可以工作网址吧!


更新:示例代码 链接

我认为它与 toLocaleString() 有关


最终更新:

由于很少有人回答,链接中的一些磨损标记“仅在 IE 中出现!” 我必须过滤并更改我的 php 脚本日期格式以删除逗号

function FixLocaleDateString(localeDate) {
    var newStr = "";
    for (var i = 0; i < localeDate.length; i++) {
        var code = localeDate.charCodeAt(i);
            if (code != 44 && code != …
Run Code Online (Sandbox Code Playgroud)

javascript php internet-explorer urlencode microsoft-edge

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

如何避免转义 WebTarget 查询参数?

我想关闭 Jersey 请求或某些参数的 URL 编码。

我正在与之交谈的服务器需要以下格式 example.com/path?query=foo:bar

使用 Jackson WebTarget,

final WebTarget target = ClientBuilder.newClient()
    .target(url)
    .queryParam("query", "{queryVal}")
    .resolveTemplate("queryVal", "foo:bar");
Run Code Online (Sandbox Code Playgroud)

可悲的是,这会产生example.com/path?query=foo bar服务器不接受的结果。

我为此搜索了很多,唯一有希望的途径似乎与 有关javax.ws.rs.core.Configuration,但我还没有深入了解。

java urlencode jersey request java-8

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

Asp.Net Core [FromRoute] 自动 url 解码

如果我们在 Asp.Net Core 中有这样的控制器端点:

[HttpGet("/api/resources/{someParam}")]
public async Task<ActionResult> TestEndpoint([FromRoute] string someParam)
{
    string someParamUrlDecoded = HttpUtility.UrlDecode(someParam);
    // do stuff with url decoded param...
}
Run Code Online (Sandbox Code Playgroud)

是否有某种方法可以配置[FromRoute]解析行为,使其注入someParam已解码的 url 值?

c# urlencode asp.net-core

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

gin - 访问包含正斜杠的 url 编码路径参数时出现问题

对于带有路径参数的给定路线(下面的示例)

router.GET("/employee/:id", empHandler.GetEmployee)
Run Code Online (Sandbox Code Playgroud)

当尝试使用包含正斜杠的 id path-param(encoded) 调用 url 时

ID = 21/管理员/527

url 编码 ID = 21%2Fadmin%2F527

https://localhost:8000/emplayee/21%2Fadmin%2F527
Run Code Online (Sandbox Code Playgroud)

当我尝试点击此请求时,我收到 404 似乎 gin 会自动解码路径参数并形成一条包含解码路径参数的 url 的路由

https://localhost:8000/emplayee/21/admin/527
Run Code Online (Sandbox Code Playgroud)

我想要员工 ID 路径参数的确切编码值,因为它用于调用需要对其进行 url 编码的其他 api。

urlencode go path-parameter go-gin

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

rawurlencode()和urlencode()在CodeIgniter中不起作用

我正在尝试将字符串编码为安全URL以用于通用目的,并且在使用CodeIgniter时rawurlencode()和urlencode()都不起作用.我已经使用过它们,并且使用直接的PHP可以很好地工作,但无论出于何种原因,它都不起作用.我无法找到任何其他有此问题的人,因此没有解决方案.

码:

<a href="/search/degree/<?=rawurlencode($row->degree)?>" class="element_link"><?=$row->degree?></a>
Run Code Online (Sandbox Code Playgroud)

它只是作为纯文本传递,空格未转义和一切.

我期待着我能够得到的结果:

<?php echo rawurlencode('http://kchason.com'); ?>
Run Code Online (Sandbox Code Playgroud)

优点:http%3A%2F%2Fkchason.com

但: <a href="/search/degree/<?=rawurlencode($row->degree)?>" class="element_link"><?=$row->degree?></a>

给我举个例子:'localhost/http://kchason.com',这显然是不安全的,不起作用.

php codeigniter urlencode

3
推荐指数
1
解决办法
7011
查看次数

PHP URL解码GET

我一直在使用$ _get编码的URL变量进行URL解码.

我面临的当前问题是我有一个像这样编码的URL: blah.php?url=http%3A%2F%2Fm.youtube.com%2F#/watch?feature=player_embedded&v=zd7c5tQCs1I&desktop_uri=%2Fwatch%3Fv%3Dzd7c5tQCs1I%26feature%3Dplayer_embedded

我不确定这是什么样的编码,有人可以帮助我吗?当我在这上面只使用"urldecode"它就会返回m.youtube.com

编辑:我的问题不是url解码不工作,如果我手动输入这个编码的URL并使用urldecode(),但是当这个编码的url在实际的页面url并且我使用_GET函数然后我尝试解码它,它会在URL中的"#"之后对所有内容进行条带化处理.

<?php print urldecode($_GET["url"]);?>

它回来了

"http://m.youtube.com/"

代替

"http://m.youtube.com/#/watch?feature=player_embedded&v=zd7c5tQCs1I&desktop_uri=/watch?v=zd7c5tQCs1I&feature=player_embedded"

我认为问题是英镑符号没有编码,如果我刷新页面它会剥掉磅唱歌及其后的所有内容,那么我该如何解决这个问题呢?即使有一个英镑符号,我还可以从"GET"中检索信息吗?(#)

php get decode urlencode urldecode

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

如何在PHP中将utf8编码为像浏览器一样的url?

将此URL输入浏览器时: http://www.google.com/?q=ä

发送的网址实际上是 http://www.google.com/?q=%C3%A4

我想用Php进行相同的转换 - 如何做到这一点?

我尝试了什么:

$url = 'http://www.google.com/?q=ä'; //utf8 encoded

echo rawurlencode($url);
//gives http%3A%2F%2Fwww.google.com%2F%3Fq%3D%C3%A4

$u = parse_url($url);
echo $url['scheme'].'://'.$url['host'].$url['path'].'?'.rawurlencode($url['query']);
//gives http://www.google.com/?q%3D%C3%A4
Run Code Online (Sandbox Code Playgroud)

上面的url只是一个简单的例子,我需要一个也适用的通用解决方案

http://www.example.com/ä
http://www.example.com/ä?foo=ä&bar=ö
http://www.example.com/???????????abc=??????????
Run Code Online (Sandbox Code Playgroud)

这里提供的答案不够通用: 如何使用像浏览器这样的PHP编码URL

php urlencode utf-8

3
推荐指数
1
解决办法
7212
查看次数

Golang - 尝试GET请求时来自S3的SignatureDoesNotMatch错误

我试图从http://freemusicarchive.org下载一首曲目.一般来说,您可以通过附加/下载到轨道URL来下载文件,轨道URL通过重定向到S3上的资产进行响应.

例如,试试这个链接:http: //freemusicarchive.org//music//Zola_Jesus//Live_at_WFMU_on_Scott_McDowells_Show_1709//Odessa/download

要查看重定向,请将链接放在此处:http: //www.wheregoes.com/retracer.php

我可以使用如下代码获取重定向位置:

req, err := http.NewRequest("GET", url, nil)
errHndlr(err)

transport := http.Transport{}
resp, err := transport.RoundTrip(req)
defer resp.Body.Close()
errHndlr(err)

redirect := resp.Header.Get("Location")
Run Code Online (Sandbox Code Playgroud)

我已通过将重定向链接打印到控制台并将其复制/粘贴到我的浏览器中来验证重定向链接,但是当我在同一个URL上调用http.Get时,我从AWS收到"SignatureDoesNotMatch"错误.

如果有人能够提供有关此处出现问题的见解,我将非常感激.

http urlencode go amazon-web-services

3
推荐指数
1
解决办法
671
查看次数