PHP:如何使用GET发送cURL请求?
我使用cURL进行API调用,下面是我的代码:PHP:如何使用GET发送cURL请求?,php,curl,Php,Curl,我使用cURL进行API调用,下面是我的代码: $data = array( 'r' => 'create', '_object' => 'Question', '_api_key' => '........', '_user_id'
$data = array(
'r' => 'create',
'_object' => 'Question',
'_api_key' => '........',
'_user_id' => $creator_id,
'_subtype_id' => $type_id,
'_subtopic_id' => $subtopic_id,
'_title' => $title,
'_description' => $description,
'_encoded_xml' => $main_xml
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://urlhere/v1/resources/objects");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close ($ch);
print_r($server_output);
我希望将这些参数作为
GET
请求发送,而不是POST
,我如何才能做到这一点,请告知CURLOPT_POSTFIELDS
用于POST
请求的正文(有效负载)。对于GET
请求,有效负载是URL的一部分
您只需要使用需要发送的参数(如果有的话)构造URL,并删除其他用于cURL的选项
$data = array(
'r' => 'create',
'_object' => 'Question',
'_api_key' => '........',
'_user_id' => $creator_id,
'_subtype_id' => $type_id,
'_subtopic_id' => $subtopic_id,
'_title' => $title,
'_description' => $description,
'_encoded_xml' => $main_xml
);
$send_data = http_build_query($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://urlhere/v1/resources/objects?" . $send_data);
// curl_setopt($ch, CURLOPT_POST, 1);
// curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close ($ch);
print_r($server_output);
CURLOPT_POSTFIELDS
用于POST
请求的主体(有效负载)。对于GET
请求,有效负载是URL的一部分
您只需要使用需要发送的参数(如果有的话)构造URL,并删除其他用于cURL的选项
$data = array(
'r' => 'create',
'_object' => 'Question',
'_api_key' => '........',
'_user_id' => $creator_id,
'_subtype_id' => $type_id,
'_subtopic_id' => $subtopic_id,
'_title' => $title,
'_description' => $description,
'_encoded_xml' => $main_xml
);
$send_data = http_build_query($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://urlhere/v1/resources/objects?" . $send_data);
// curl_setopt($ch, CURLOPT_POST, 1);
// curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close ($ch);
print_r($server_output);
这回答了你的问题吗?这是基于命令的这能回答你的问题吗?这是基于命令的。我正在向服务器发送$data数组作为get请求,所以我应该添加?iitem=itemval,就像url中的一样?啊,是的。。。添加这样的内容<代码>$send\u data=http\u build\u query($data)代码>将其添加到您的URL中,我已更新了答案中的代码。我正在将$data数组作为get请求发送到服务器,因此我是否应该添加?iitem=itemval,如URL中的此?啊,是的。。。添加这样的内容<代码>$send\u data=http\u build\u query($data)代码>将其添加到您的URL,我已更新了答案中的代码。