gpt4 book ai didi

php - 如何在PHP中使用curl获取数据?

转载 作者:行者123 更新时间:2023-12-02 23:02:25 25 4
gpt4 key购买 nike

我正在尝试为此curl请求制作一个PHP API

 curl 'http://xx.74.229.xxx:9200/snapdeal_electronics_mobiles_cat/_search' -d '{  "query": {  "match" : { "brand" : "Samsung" } } }' 

在终端中执行此命令时得到响应,但是当我尝试直接在PHP脚本中使用它时,它不起作用
   <?php
function httpGet($url)
{
$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
// curl_setopt($ch,CURLOPT_HEADER, false);

$output=curl_exec($ch);

curl_close($ch);
return $output;
}

echo httpGet("http://xx.74.229.189:9200/snapdeal_electronics_mobiles_cat/_search' -d '{ "query": { "match" : { "brand" : "Samsung" } } }");
?>

请提出一些解决方案,这是一个获取请求

最佳答案

您错误地创建了curl请求,这也是您尝试不是GET的POST请求,因为您在POST正文中使用了“-d”开关。

您需要从POST主体中分离URL并传递2个参数,一个用于URL,一个用于POST数据,如下所示:

<?php
function httpGet($url, $data)
{
$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
// curl_setopt($ch,CURLOPT_HEADER, false);

curl_setopt($ch,CURLOPT_POSTFIELDS, $data); //POST data

$output=curl_exec($ch);

curl_close($ch);
return $output;
}

echo httpGet("http://xx.74.229.189:9200/snapdeal_electronics_mobiles_cat/_search",'{ "query": { "match" : { "brand" : "Samsung" } } }');
?>

关于php - 如何在PHP中使用curl获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31660583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com