标签: url-encoding

Hex Url解码器c#

我有如http%3A%2F%2Fwww%2Ewikimoveis%2Ecom%2Ebr%2Ffotos%2F1292%2FKO2551%2FDSC01366%2EJPG一个URL

我需要让它正确解码.我相信这是十六进制的.找不到任何能够做到这一点的C#代码.

谢谢

c# url-encoding

0
推荐指数
1
解决办法
1946
查看次数

在PHP中用%20替换空格。urlencode和rawurlencode不起作用

我正在尝试由多字字符串构成一个URL:

$str = "my string"
Run Code Online (Sandbox Code Playgroud)

而我试图得到:

"http mysite.com/search/my%20string"
Run Code Online (Sandbox Code Playgroud)

但我无法使用PHP做到这一点。

urlencode($str) => "my+string"
rawurlencode($str)=>"my string"
Run Code Online (Sandbox Code Playgroud)

我怎么能得到"my%20string"

谢谢你的帮助 !

PS:

也许我可以做,str_replace(urlencode(),etc); 但是urlencode是否有一个参数,这样它本身就可以正确转换?

PS 2:

事实证明,正如Amal Murali所说的那样,rawurlencode()确实如此,当我将鼠标悬停在链接上时,在浏览器中看不到它。

但是,当我检查源代码或单击链接时,会看到rawurlencode();生成正确的链接。(带有%20。)。

php whitespace urlencode url-encoding rawurl

0
推荐指数
1
解决办法
9128
查看次数

在字符串中自动对查询参数进行 URL 编码是否明智?

假设我想使用以下请求curl

https://api.foobar.com/widgets?begin=2018-09-10T01:00:00+01:00&object={"name":"barry"}
Run Code Online (Sandbox Code Playgroud)

该字符串的 URL 编码版本如下所示:

https://api.foobar.com/widgets?begin=2018-09-10T01%3A00%3A00%2B01%3A00&object=%7B%22name%22%3A%22barry%22%7D
Run Code Online (Sandbox Code Playgroud)

当然,当我在命令行发出请求时,我更愿意查看外观更漂亮(但不是 URL 有效的)的第一个版本。我正在考虑使用一个bash脚本来拆分好的版本的不同部分,对相关部分进行编码,然后将其重新粘在一起,这样我就不必担心了。

例如,在对 , 进行几轮简单拆分?&=我可以轻松获得:

  • https://api.foobar.com/widgets
  • begin
  • 2018-09-10T01:00:00+01:00
  • object
  • {"name":"barry"}

之后,URL 对查询字符串的两个值进行编码并将它们全部粘在一起。我接受查询字符串中&和 的任何出现=都会破坏这种方法。

还有什么我应该担心的,可能会使这成为一个特别愚蠢的想法吗?

url bash curl url-encoding url-parameters

0
推荐指数
1
解决办法
1125
查看次数

为什么我不能在字符串中使用"%20"?

我使用了一个我在这个问题中找到的函数,适用于用"%20"替换所有空格(可能会更有效地完成!):

## Heading ##std::string Main::SpacesForWeb(std::string text) {
    for (std::string::iterator it = text.begin(); it != text.end(); ++it) {
        if (*it == ' ') {
            *it = '%20';
        }
    }
    return text;
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将它用于字符串时Local Live Test Server,输出是这样的:

在此输入图像描述

我的最后一个问题涉及string的问题,并发现stringtypedef编为指向内部CryString在游戏SDK类型我使用(Cryengine2引擎).我现在正在使用std::string以解决这个问题.

此问题也反映在我转换发生后使用的数据库中,并将数据发送到数据库:

在此输入图像描述

为什么我不能%20以这种方式使用(也许还有其他URL编码符号),我怎样才能使它工作?我试图对此进行一些研究以便自己解决这个问题,但是没有任何相关内容出现.

我已尝试使用*it = (char)"%20";原位*it = (char)"%20";,但是这实际上删除了0出现在字符串中而不是替换空格%20.

c++ string url-encoding sfml crysis

-3
推荐指数
2
解决办法
1159
查看次数

使用空格解码base64

我有一个base64编码的字符串,我试图用go解密.该字符串包含应忽略的空格.我正在尝试的示例代码:

s := "eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjEzZmU3MWQ0LWQxMGQtNDIyMC1hMjE2LTIwMDZkMWRkNGNiOCIsImFjc1RyY++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++W5zSUQiOiJkN2M0NWY5OS05NDc4LTQ0YTYtYjFmMi0xMDAwMDAwMDMzNjYiLCJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwiY2hhbGxlbmdlV2luZG93U2l6ZSI6IjAyIn0%3D"

out, err := base64.URLEncoding.DecodeString(s)
if err != nil {
    fmt.Println(err)
    return
}
fmt.Println(string(out))
Run Code Online (Sandbox Code Playgroud)

此代码返回:

输入字节93处的非法base64数据


更改字符串填充后,使用StdEncoding而不是URLEncoding:

s= strings.Replace(s, "%3D", "=", -1)
out, err := base64.StdEncoding.DecodeString(s)
if err != nil {
    fmt.Println(err)
    return
}
fmt.Println(string(out))
Run Code Online (Sandbox Code Playgroud)

输出将是:

{ "threeDSServerTransID": "13fe71d4-D10D-4220-a216-2006d1dd4cb8","acsTrc NSID ":" d7c45f99- 9478-44a6-b1f2-100000003366" , "为messageType": "CREQ", "messageVersion": "2.1.0", "challengeWindowSize": "02"}


如何正确解密字符串?

string base64 go url-encoding

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

标签 统计

url-encoding ×5

string ×2

base64 ×1

bash ×1

c# ×1

c++ ×1

crysis ×1

curl ×1

go ×1

php ×1

rawurl ×1

sfml ×1

url ×1

url-parameters ×1

urlencode ×1

whitespace ×1