标签: percent-encoding

81
推荐指数
11
解决办法
11万
查看次数

如何防止python请求百分比编码我的URL?

我正在尝试使用python中的requests.get()获取以下格式的URL:

http://api.example.com/export/?format=json&key=site:dummy+type:example+group:wheel

#!/usr/local/bin/python

import requests

print(requests.__versiom__)
url = 'http://api.example.com/export/'
payload = {'format': 'json', 'key': 'site:dummy+type:example+group:wheel'}
r = requests.get(url, params=payload)
print(r.url)
Run Code Online (Sandbox Code Playgroud)

但是,URL的编码百分比,我没有得到预期的响应.

2.2.1
http://api.example.com/export/?key=site%3Adummy%2Btype%3Aexample%2Bgroup%3Awheel&format=json
Run Code Online (Sandbox Code Playgroud)

如果我直接传递URL,这是有效的:

url = http://api.example.com/export/?format=json&key=site:dummy+type:example+group:wheel
r = requests.get(url)
Run Code Online (Sandbox Code Playgroud)

有没有办法以原始形式传递参数 - 没有百分比编码?

谢谢!

python url percent-encoding python-requests

28
推荐指数
5
解决办法
3万
查看次数

百分比编码javascript

是否有一个javascript函数,它接受一个字符串并将其转换为另一个百分比编码的字符串?那样的"This Guy"变成了"This%20Guy".

谢谢

javascript jquery percent-encoding

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

19
推荐指数
1
解决办法
3497
查看次数

NSString URL解码?

我已经尝试了很多方法,但这个小小的字符串不能被URL解码.

NSString *decoded;
NSString *encoded = @"fields=ID%2CdeviceToken";
decoded = (__bridge NSString*)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(NULL, (CFStringRef)encoded, NULL, NSUTF8StringEncoding);
NSLog(@"decodedString %@", decoded);
Run Code Online (Sandbox Code Playgroud)

上面的代码只是在替换百分比转义后记录相同的(!)字符串.

那里有可靠的解决方案吗?我认为基于某些文档的某种RegEx解决方案可行.有什么建议吗?

nsstring urldecode ios percent-encoding

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

Node.js中的URL组件编码

我想使用node.js发送http请求.我做:

http = require('http');

var options = {
    host: 'www.mainsms.ru',
    path: '/api/mainsms/message/send?project='+project+'&sender='+sender+'&message='+message+'&recipients='+from+'&sign='+sign
    };

    http.get(options, function(res) {
    console.log('STATUS: ' + res.statusCode);
    console.log('HEADERS: ' + JSON.stringify(res.headers));
    }).on('error', function(e) {
    console.log('ERROR: ' + e.message);
    });
Run Code Online (Sandbox Code Playgroud)

path这样的时候:

/api/mainsms/message/send?project=geoMessage&sender=gis&message=tester_response&recipients=79089145***&sign=2c4135e0f84d2c535846db17b1cec3c6
Run Code Online (Sandbox Code Playgroud)

这是工作.但是当message参数包含任何空格时,例如tester response所有空格.在控制台中我看到http使用这个网址:

  /api/mainsms/message/send?project=geoMessage&sender=gis&message=tester
Run Code Online (Sandbox Code Playgroud)

如何发送空间.或者我只是不能在网址中使用空格?

javascript urlencode url-encoding node.js percent-encoding

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

使用Perl,如何在网络上解码或创建那些%-encodings?

我需要在Perl脚本中处理URI(即百分比)编码和解码.我怎么做?


这是来自官方perlfaq的问题.我们将perlfaq导入Stack Overflow.

perl url-encoding percent-encoding

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

Python argparse错误,帮助字符串中包含'%'

我有一个包含'%'的默认值,我也将其插入到我的参数的帮助文档中.例如:

default = "5% foo"
animrender_group.add_argument(
    "--foo",
    default=default,
    help="Foo amount. Default: %s" % default,
)
args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)

parse_args()上的Argparse错误

[snip]
    args = parser.parse_args()
[snip]"../python2.5/site-packages/argparse.py", line 622, in _expand_help
    return self._get_help_string(action) % params
ValueError: unsupported format character 'O' (0x4f) at index 83
Run Code Online (Sandbox Code Playgroud)

python string-formatting argparse percent-encoding

13
推荐指数
3
解决办法
2340
查看次数

什么时候,像{和}(花括号)这样的字符应该在URL中进行百分比编码?

根据RFC 3986,以下字符是保留的,需要进行百分比编码才能在URI中使用,而不是作为其保留用途: :/?#[]@!$&'()*+,;=

此外,它指定了一些特别保留的字符:a-zA-Z0-9\-._~

似乎很清楚,一般应该编码保留字符(以防止误解)而不编码未保留字符(为了便于阅读),但是如何处理不属于任何类别的字符?例如{,}并没有出现在任何一个列表中,但它们是标准的ASCII字符.

期待现代浏览器的指导,似乎它们有时会有不同的行为.例如,考虑将URL粘贴https://www.google.com/search?q={到Web浏览器的地址栏中:

  • Chrome 34.0.1847.116 m不会更改它.
  • Firefox 28.0不会改变它.
  • Internet Explorer 9.0不会更改它.
  • Safari 5.1.7将其更改为 https://www.google.com/search?q=%7B

但是,如果一个粘贴https://www.google.com/#q={(删除"搜索"并将其更改?为a #,使角色成为片段/哈希而不是查询字符串),我们会发现:

  • Chrome 34.0.1847.116 m将其更改为https://www.google.com/#q=%7B(通过JavaScript)
  • Firefox 28.0不会改变它.
  • Internet Explorer 9.0不会更改它.
  • Safari 5.1.7将其更改为https://www.google.com/#q=%7B(在执行JavaScript之前)

此外,当使用JavaScript异步执行请求时(即使用此MDN示例修改为使用URL ?q={),URL不会自动进行百分比编码.(我猜这是因为XMLHttpRequest API假定事先对URL进行编码/转义.)

我想(出于与奇怪的客户要求有关的原因)使用{}在URL的文件名部分中没有(1)破坏事物,理想情况下也没有(2)在现代网络面板中创建丑陋的百分比编码条目浏览器的网络检查员/调试员.

uri rfc3986 percent-encoding

10
推荐指数
1
解决办法
3867
查看次数

在URL中将"/"更改为"%2f"不起作用

我有一个果园网站,并有以下问题:

如果我使用URL:http://asiahotelct.com/tours/ct---chau-%C4%91oc---ha-tien-3n2%C4%91,那没关系.但是当我改变网址/%2f(如此:http://asiahotelct.com/tours%2fct---chau-%C4%91oc---ha-tien-3n2%C4%91),它就不再适用了.

为什么/不能被取代%2f

url percent-encoding

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