我需要将此字符串发布到 url :
https://sample.nodeurl.tld/api/getObjects.sjs?object=supporter& condition=Email=chris@dia.org&condition=Last_Modified>2010-05-05&limit=5&orderBy=Last_Modified
问题在于多种条件。以下代码适用于单个条件,但无法弄清楚如何构建具有多个条件的字符串。
$query = array();
$query ["object"]="supporter";
$query ["condition"]="First_Name= $_POST[fname]";
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($query));
//return the transfer as a string
curl_setopt($ch, CURLOPT_POST, 1);
$output = curl_exec($ch);
只需将$query["condition"]
放入数组即可。
$query = array(
'object' => 'supporter',
'condition' => array(
'Email=chris@dia.org',
'Last_Modified>2010-05-05'
)
);
然后http_build_query
将为您构建一个如下所示的查询字符串:
object=supporter&condition[]=Email=chris@dia.org&condition[]=Last_Modified>2010-05-05
我不知道其他服务器端语言,但在 PHP 中,condtion 之后的[]
在发布时会将其放入数组中。
您是否正在尝试在 POST 中传递此查询?如果是这样,您可以直接使用查询
$string = "https://sample.nodeurl.tld/api/getObjects.sjs?object=supporter& condition=Email=chris@dia.org&condition=Last_Modified>2010-05-05&limit=5&orderBy=Last_Modified";
curl_setopt($ch,CURLOPT_POSTFIELDS, $string);