不使用plpgsql,我试图在pgsql SELECT语句中对给定文本进行urlencode.
这种方法的问题:
select regexp_replace('héllo there','([^A-Za-z0-9])','%' || encode(E'\\1','hex'),'g')
Run Code Online (Sandbox Code Playgroud)
...是编码函数没有传递regexp参数,除非有另一种方法从实际工作的替换表达式中调用函数.所以我想知道是否有一个替换表达式,它本身可以将匹配编码为十六进制值.
可能存在其他功能组合.我以为会有一个聪明的正则表达式(那可能仍然是答案),但我找不到它.
使用stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding对NSString进行URL编码不会对@符号进行编码.解决这个问题的正确方法是什么?谢谢.
我从用户那里得到一个url字符串,并希望将其转换为合法的http url:
" http://one.two/three?四五 "应该变成" http://one.two/three?four%20five "
但是,URLEncoder没有帮助,因为它编码整个字符串(包括合法的"://").
救命?
我创建了一个ASP.NET类.在那个班我想用Server.UrlEncode.
为什么intellisense根本不帮助我,而不是Server.UrlEncode显示HttpServerUtility?
我已经提到了 system.web
我需要编码一些字符串来添加到URL.
我的字符串包含多个单词:( "abc def hij"即不是三个单独的字符串,而是一个单独的字符串,其中包含3个单词).
在JavaScript或jQuery的,你怎么转换那样的字符串("abc def hij")到编码格式:"abc+def+hij"?
我遇到了一些问题,我想知道你们中是否有人可以帮助我.
我的网站和数据库设置为utf8.我在查询字符串部分中输入重音符时出现问题ã转到%E3,但如果我在页面中使用链接或表单,则会在网址中显示%C3%A3.
我能做什么?
编辑:让我试着澄清一点:
我正在尝试在我的URL(查询字符串)中使用带重音的字符,但是我很难在多个浏览器中使用它.某些浏览器(如Firefox和IE)会输出不同的百分比编码字符串,具体取决于我是在页面中使用表单还是在地址栏中键入重音字符.就像我在原始问题中所说的那样,在表单中输入的ã转到了网址中的%C3%A3,但如果我在地址栏中输入ã,则浏览器会将其更改为网址中的%E3.
这对我来说很复杂,因为如果我得到%E3,那么在php/html中我得到一个未知字符(这是钻石问号,对吗?)
希望这有帮助 - 让我知道其他情况.
我有一个服务侦听github服务挂钩,以执行自动部署.有时我需要手动触发(没有github干预).为此,我正在模拟github发送的POST请求(post-receive-URLs).
我的data(my.json)看起来像这样(github发送的有限子集 - 我不需要更多):
{
"action" : "deploy_from_scratch_with_bundle",
"pusher" : { "email" : "my@email.com" },
"ref" : "refs/heads/master"
}
Run Code Online (Sandbox Code Playgroud)
我尝试用curl POST:
curl -X POST $URL --data-urlencode "@my.json" --header "Content-Type: application/x-www-form-urlencoded"
Run Code Online (Sandbox Code Playgroud)
问题是github是这样POST的:
payload=%7B%22pusher%22%3A%7B%22name%22%3A%22none%22%7D%2C%22repository%22%3
A%7B%22name%22%3A%liferay-plugins%22%2C%22created_at%22%3A%222011%2F12%2F07%2011%3A52...
Run Code Online (Sandbox Code Playgroud)
看到payload=那里?这看起来像一个表单字段.我不知道如何将表单字段与urlencoding结合起来.要POST表单字段,我会这样做:
curl -X POST $URL -F "payload=@my.json"
Run Code Online (Sandbox Code Playgroud)
但是JSON不会被url编码.我怎么去两个?
我是Python新手,似乎遇到了问题.我正在尝试urlencode用户代理字符串...
import urllib
UserAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3 Gecko/2008092417 Firefox/3.0.3'
print 'Agent: ' + UserAgent
print urllib.urlencode(UserAgent)
Run Code Online (Sandbox Code Playgroud)
结果导致......
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3 Gecko/2008092417 Firefox/3.0.3
Traceback (most recent call last):
File "D:\Source\SomePath\test.py", line 7, in <module>
print urllib.urlencode(UserAgent)
File "C:\Python26\lib\urllib.py", line 1254, in urlencode
raise TypeError
TypeError: not a valid non-string sequence or mapping object
Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)
我只能假设虽然UserAgent正确打印,但我要么在途中错过了一些字符串转义选项,要么犯了一个根本性的错误urllib.urlencode()?
我有一个URL字符串,其中有换行符和回车符.例如
http://xyz.com/hello?name=john&msg=hello\nJohn\n\rgoodmorning¬e=last\night I went to \roger
Run Code Online (Sandbox Code Playgroud)
我的实际msg字符串是:
hello
john
goodmorning
Run Code Online (Sandbox Code Playgroud)
和note字符串是
last\night I went to \roger
Run Code Online (Sandbox Code Playgroud)
为了正确发送它我必须urlencode这个
http://xyz.com/hello?name%3Djohn%26msg%3Dhello%5CnJohn%5Cn%5Crgoodmorning%26note%3Dlast%5Cnight%20I%20went%20to%20%5Croger
Run Code Online (Sandbox Code Playgroud)
但这个编码搞乱\n和\ r.虽然我希望\n应该转换为%0A和\ r转换为%0D
我写的代码是ruby.我试图帮助Addressable::URI但没有帮助.其他方式可以分别手动将\n和\ r \n替换为%0A和%0D.但是,置换能代替有效的字符,如last\night到last%0Aight,我不想要的.有谁能建议更好的解决方案?谢谢.
我使用以下代码编码参数列表:
params['username'] = user
params['q'] = q
params = urllib.quote(params)
Run Code Online (Sandbox Code Playgroud)
但是当q它等于时它不起作用??.返回以下错误:
'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
我该如何解决?