Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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
Rest Can';t在firebase中具有特殊字符的键上使用startAt选项_Rest_Firebase_Url Parameters - Fatal编程技术网

Rest Can';t在firebase中具有特殊字符的键上使用startAt选项

Rest Can';t在firebase中具有特殊字符的键上使用startAt选项,rest,firebase,url-parameters,Rest,Firebase,Url Parameters,我有一个以URL作为键的firebase数据集,例如在本例中: { "urls" : { "http%3A%2F%2Flincoln%2Emetacannon%2Enet%2F2005%2F10%2Ffashion-of-gods%2Easpx" : true, "http%3A%2F%2Flincoln%2Emetacannon%2Enet%2F2005%2F10%2Fgod-is-dead-again%%2Easpx" : true, "http%3A%2F%2F

我有一个以URL作为键的firebase数据集,例如在本例中:

{
  "urls" : {
    "http%3A%2F%2Flincoln%2Emetacannon%2Enet%2F2005%2F10%2Ffashion-of-gods%2Easpx" : true,
    "http%3A%2F%2Flincoln%2Emetacannon%2Enet%2F2005%2F10%2Fgod-is-dead-again%%2Easpx" : true,
    "http%3A%2F%2Flincoln%2Emetacannon%2Enet%2F2005%2F10%2Fzugos%2Easpx" : true,
    "http%3A%2F%2Flincoln%ZZmetacannon%ZZnet%2F2005%2F11%2Fgods-creature%ZZaspx" : true
  }
}
使用RESTAPI,当我试图指定包含某种特殊字符(如%)的startAt字符串时,它将停止工作。例如,以下查询工作正常:

https://fb-query-tester.firebaseio.com/urls.json?orderBy="$key"&startAt="http"
并返回整个数据集:

{
    "http%3A%2F%2Flincoln%2Emetacannon%2Enet%2F2005%2F10%2Ffashion-of-gods%2Easpx": true,
    "http%3A%2F%2Flincoln%2Emetacannon%2Enet%2F2005%2F10%2Fgod-is-dead-again%%2Easpx": true,
    "http%3A%2F%2Flincoln%2Emetacannon%2Enet%2F2005%2F10%2Fzugos%2Easpx": true,
    "http%3A%2F%2Flincoln%ZZmetacannon%ZZnet%2F2005%2F11%2Fgods-creature%ZZaspx": true
}
但当我尝试时:

https://fb-query-tester.firebaseio.com/urls.json?orderBy="$key"&startAt="http%3A"
它返回一个空集:

{}
我想可能需要对查询参数进行URL编码,所以我尝试:

https://fb-query-tester.firebaseio.com/urls.json?orderBy="$key"&startAt="http%253A"

但它仍然一无所获。我不知道现在该怎么办。请帮忙

看起来您可以使用双百分比对百分比进行编码。但是您必须使用URL对它们进行编码,因此您不必使用
%%
来代替每个
%%
,而是使用
%25%25

因此,对于您的示例,您可以使用以下URL从第二个条目开始:

https://fb-query-tester.firebaseio.com/urls.json?orderBy=“$key”&startAt=“http%25%253A%25%252F%25%252Flincoln%25%252Emetacannon%25%252Enet%25%252F2005%25%252F10%25%252Fgod又死了%25%25%25%252Easpx”

可能存在的副本