使用 Curl 构建字符串


Using Curl to build a string

我需要将此字符串发布到 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);