标签: urlencode

urlencode所有查询字符串参数

有没有办法url编码整个URL查询字符串而不尝试urlencode每个单独的查询字符串参数.现在我不得不用这样的东西重建查询字符串:

foreach (string x in Page.Request.QueryString.Keys)
{
 sQueryString += x + "=" + Server.UrlEncode(Request.Params.Get(x)) + "&";
}
Run Code Online (Sandbox Code Playgroud)

asp.net urlencode

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

将urlencoded URL作为参数传递给CakePHP上的控制器/操作

我在CakePHP上相当新,因为有一些基本的东西,我曾经用Zend Framework做的,我用Cake打败了.

我正在开发一个项目,我必须将命名参数传递给控制器​​/动作.设置路由并传递参数非常简单,我的问题是当参数是urlencoded网址时.

例如:http://www.cakephp.com/controller/action/http%3A%2F%2Fwww.google.com无论控制器和操作设置如何,都会抛出404,但是传递/ controller/action/http: //www.google.com以某种方式工作,唯一的问题是它将http标识为命名参数.换句话说,如果我做/controller/action?url=http://www.google.com它会工作.

我用于此的工作是将值作为base64编码的字符串传递,但它带来了一些限制.例如,如果它是API,则无法保证使用API​​的系统可以将base64编码为字符串.

无论如何,最好的解决方案仍然是将url编码的字符串传递给命名参数.问题是,为什么CakePHP不接受urlencoded字符串作为参数,为什么它会抛出404?

在此先感谢所有人.

string cakephp param urlencode

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

PHP:使随机字符串URL安全并撤消任何使其安全的内容

给定一个随机生成的字符串,如何将其转换为URL安全 - 然后"取消转换"它?

PHP的bin2hex功能(参见:http://www.php.net/manual/en/function.bin2hex.php)似乎可以安全地将字符串转换为URL安全字符.该hex2bin函数(参见:http://www.php.net/manual/en/function.hex2bin.php)可能尚未准备好.以下自定义hex2bin函数有时会起作用:

function hex2bin($hexadecimal_data)
{
    $binary_representation = '';

    for ($i = 0; $i < strlen($hexadecimal_data); $i += 2)
    {
        $binary_representation .= chr(hexdec($hexadecimal_data{$i} . $hexadecimal_data{($i + 1)}));
    }

    return $binary_representation;
}
Run Code Online (Sandbox Code Playgroud)

它只适用于函数的输入是有效bin2hex字符串.如果我发送的东西不是由bin2hex它产生的,它就会死掉.我似乎无法在出现错误的情况下抛出异常.

有什么建议我可以做什么?我没有开始使用hex2bin/bin2hex.我需要能够将随机字符串转换为URL安全字符串,然后反转该过程.

php urlencode

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

CFURLCreateStringByAddingPercentEscapes,奇怪的行为?

我正在尝试编码一个URL,我以前从未这样做过,所以当我没有得到预期的结果时我很困惑.我正在使用CFURLCreateStringByAddingPercentEscapes这个,但返回的内容与任何在线URL编码器/解码器完全不同,例如

-(void)urlEncodedString{


 NSString *str = @"\"Hi!! my name is John. \n What's your's?\"";

NSLog([(NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)str, NULL, CFSTR("!$&'()*+,-./:;=?@_~"), kCFStringEncodingUTF8) autorelease]);


}
Run Code Online (Sandbox Code Playgroud)

我期待的是:

%5C%22Hi%21%21%20my%20name%图20是%20John.%20%5 CN%20What%-27%20your%-27%3F%5C%22

但相反,我得到:

2i2212yame 0s2ohn3.786691E-27020A2º»åå2our0.0000002

这不可能是正常的.我一直在寻找和尝试一切,我做的方式显然应该工作.谁能指出我正确的方向?

iphone objective-c urlencode

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

url中的未知字符%252B

我有一个页面链接来自rss.他们是:断链

http://news.asiaone.com/News/Latest%252BNews/Singapore/Story/A1Story20121220-390687.html
Run Code Online (Sandbox Code Playgroud)

工作环节

http://news.asiaone.com/News/Latest%2BNews/Singapore/Story/A1Story20121220-390687.html
Run Code Online (Sandbox Code Playgroud)

我意识到它的工作原理是将%252B更改为%2B.即时通讯使用PHP.有没有办法在跑步中检测并纠正它?

php encoding ascii urlencode

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

添加%20而不是空格

我想这是一个小问题,但我不得不在这里问,因为我在我的项目中做得不够.当我将字符串传递给另一个控制器中的函数时,它会将空格更改为%20符号.我猜控制器认为字符串作为url传递并编码.但我不知道如何删除它,或者如果可能的话,不要让它将空格更改为%20.这是我使用的代码;

$message="The user name you provided is already in our database";
redirect('admin/add_user/'.$message);
Run Code Online (Sandbox Code Playgroud)

这是我的控制器功能,我收到消息;

public function add_user($message)
{
  echo $message;
}
Run Code Online (Sandbox Code Playgroud)

我也试过这个;

public function add_user()
{
  echo $this->uri->segment(3);
}
Run Code Online (Sandbox Code Playgroud)

但结果是一样的.这是字符串的输出;

The%20user%20name%20you%20provided%20is%20already%20in%20our%20database
Run Code Online (Sandbox Code Playgroud)

codeigniter urlencode urldecode

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

Qt,QUrl,QUrlQuery:在查询字符串中编码特殊字符

我创建了一个这样的URL查询:

QString normalize(QString text)    
{    
    text.replace("%", "%25");    
    text.replace("@", "%40");    
    text.replace("‘", "%27");    
    text.replace("&", "%26");    
    text.replace("“", "%22");    
    text.replace("’", "%27");    
    text.replace(",", "%2C");    
    text.replace(" ", "%20");    

    return text;    
}    
QString key = "usermail";
QString value = "aemail@gmail.com";    
QUrlQuery qurlqr;    
qurlqr.addQueryItem(normalize(key), normalize(value));

QString result = qurlqr.toString();
Run Code Online (Sandbox Code Playgroud)

期待的结果是:

usermail=aemail%40gmail.com. 
Run Code Online (Sandbox Code Playgroud)

但我收到了:

usermail=aemail@gmail.com
Run Code Online (Sandbox Code Playgroud)

我不知道为什么.你能帮助我吗?

(我在Win7上使用Qt5)

encoding qt urlencode urldecode query-string

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

如何从列表中创建URL参数

我有一个具有多个选择字段的表单.它正在通过GET方法.表单生成的请求参数示例:

action=not-strummed&action=not-rewarded&keywords=test&page=2
Run Code Online (Sandbox Code Playgroud)

请注意,有两个"动作"参数.这是因为多重选择而发生的.
我想做的是:

  • 从参数创建一个字典
  • 从dict中删除"page"键
  • 将dict转换回参数字符串

urllib.urlencode()是没有足够的智慧来从列表中的网址参数.

例如:

{
     "action": [u"not-strummed", u"not-rewarded"]
}
Run Code Online (Sandbox Code Playgroud)

urllib.urlencode()将此dict转换为:

action=%5Bu%27not-strummed%27%2C+u%27not-rewarded%27%5D
Run Code Online (Sandbox Code Playgroud)

这是完全错误和无用的.

这就是为什么我写这个迭代代码来重新生成url参数.

parameters_dict = dict(self.request.GET.iterlists())
parameters_dict.pop("page", None)
pagination_parameters = ""
for key, value_list in parameters_dict.iteritems():
    for value in value_list:
        pagination_item = "&%(key)s=%(value)s" % ({
            "key": key,
            "value": value,
        })
        pagination_parameters += pagination_item
Run Code Online (Sandbox Code Playgroud)

它运作良好.但它并没有涵盖所有可能性,它绝对不是非常pythonic.

从列表中创建url参数有没有更好(更pythonic)的想法?

谢谢

python django urllib urlencode

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

如何使用URL编码在电子邮件中创建文本

我正在使用带URL编码的mailto链接来填充电子邮件,我想将电子邮件正文中的一些文本设为粗体.我已经尝试过使用HTML标签和星号,谷歌搜索没有提供任何有用的信息.可能吗?

我正在编写一个Chrome扩展,需要专门使用Outlook.

这是我编码的一个例子:

"mailto:xyz@example.com?Subject=Hello&amp;Body=This%20should%20be%20bold!"
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

html email urlencode html-email

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

Python Requests包中的URI编码

我正在使用python请求包从API获取结果,并且URL包含+登录。但是当我使用request.get时,请求失败,因为API无法理解+号。如果我用%2B(URI编码)替换+号,该请求将如何成功。

有没有办法编码这些字符,以便在将URL传递给请求包时对URL进行编码

Error: test user@gmail.com does not exist
API : https://example.com/test+user@gmail.com
Run Code Online (Sandbox Code Playgroud)

python urlencode python-requests

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