ngx.escape_uri()没有在' /'上工作?

时间:2017-09-11 11:57:35

标签: lua encode openresty

我试图将网址编码为像这样的arg值

import sys

a = float(sys.argv[1])
b = float(sys.argv[2])
c = float(sys.argv[3])
if a == str or  b == str or c == str:
   print 'Your input is invalid'
else:   
    print 'Average: %.2f ' % ((a + b + c) / 3)
然后它变成了

  

http://domain?url=http%3A//test.com%3Fa%3D1%26b%3D2

但我想要这个

  

http://domain?url=http%3a%2f%2ftest.com%3fa%3d1%26b%3d2

我也尝试了ngx.encode_args(),它是一样的

有谁知道为什么?我该怎么办?

1 个答案:

答案 0 :(得分:0)

host = "http://test.com"
uri = "?a=1&b=2"

encode_host = ngx.encode_args({[host]=true})
encode_args = ngx.escape_uri(uri)
encode_url = "http://domain?url=" .. encode_host .. encode_args