Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从URL中提取不区分大小写的查询参数_Url_Go_Request.querystring_Querystringparameter - Fatal编程技术网

从URL中提取不区分大小写的查询参数

从URL中提取不区分大小写的查询参数,url,go,request.querystring,querystringparameter,Url,Go,Request.querystring,Querystringparameter,我试图从URL中提取不区分大小写的查询参数/staging/ec/23463/front-view-72768.jpg?angle=90&or=0x0&wd=400&ht=200。当我尝试将整个URL转换为小写时,会引发以下异常: cannot use r.URL (type *url.URL) as type string in argument to strings.ToLower 我打印了URL的值,表示它将所有查询字符串存储为map,即map[angle:[90]或:[0x0]wd:[

我试图从URL中提取不区分大小写的查询参数
/staging/ec/23463/front-view-72768.jpg?angle=90&or=0x0&wd=400&ht=200
。当我尝试将整个URL转换为小写时,会引发以下异常:

cannot use r.URL (type *url.URL) as type string in argument to strings.ToLower
我打印了URL的值,表示它将所有查询字符串存储为map,即
map[angle:[90]或:[0x0]wd:[400]ht:[200]
。因此,我将使用这个
r.URL.Query().get(“or”)
获得正确的值,但是如果查询字符串出现
。它将失败

cannot use r.URL (type *url.URL) as type string in argument to strings.ToLower
这是因为您传递的是
ur.URL
而不是
string
。通过
string()
函数从url获取字符串

url.String()
*URL.Query()返回一个URL.Values类型的值,它只是一个带有一些额外方法的
映射[string][]string

由于URL值根据定义区分大小写,因此您必须直接访问地图

var query url.Values

for k, vs := range query {
    if strings.ToLower(k) == "ok" {
        // do something with vs
    }
}

在操场上试一试:

您没有包含您遇到问题的代码,但是错误消息应该让解决方案变得非常明显:您需要对字符串进行操作,而不是对
url.url
进行操作。