我的PHP cURL脚本正在返回';不能';t解析主机';

我的PHP cURL脚本正在返回';不能';t解析主机';,php,curl,Php,Curl,首先,我阅读了其他类似的问题,并与我的主机进行了交谈,以确认cURL在我的服务器上运行并正确配置,而我的服务器就是这样的 我是个新手,所以我对我的脚本不是很有信心,我猜问题就在那里。我有api访问服务的权限来检查状态和下订单。此脚本用于检查订单的状态 function get_CSA_order_status($pid){ // Get cURL resource $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://domain.c

首先,我阅读了其他类似的问题,并与我的主机进行了交谈,以确认cURL在我的服务器上运行并正确配置,而我的服务器就是这样的

我是个新手,所以我对我的脚本不是很有信心,我猜问题就在那里。我有api访问服务的权限来检查状态和下订单。此脚本用于检查订单的状态

function get_CSA_order_status($pid){
// Get cURL resource
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://domain.com');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, 'Content-Type: application/x-www-form-urlencoded');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(api_token => 'my api token', order_id => '54512'));                      

// Send the request & save response to $results
$results = curl_exec($ch);

echo curl_getinfo($ch) . '<br/>';
echo curl_errno($ch) . '<br/>';
echo curl_error($ch) . '<br/>';
// Close request to clear up some resources
curl_close($ch);
//return array and dump results
var_dump($results);

}
更新: 多亏了gofr1,我才能够解决通过数组传递URL的问题。我已经编辑了上面的代码以反映我当前的脚本,但由于某些原因,它现在不接受订单id

电流输出

Array
6
Couldn’t resolve host ‘Array’
bool(false)
string(89) “{“code”:400,”payload”:{“messages”:{“order_id”:[“The order_id you provided is invalid”]}}}”
我已经更改了url并删除了api密钥。如果有什么不正确的地方,请告诉我

解决了


一切正常。感谢所有提供帮助和建议解决方案的人。

将url放入浏览器,检查域名是否可用。可能没有遵循http到https重定向,因此请尝试添加<代码>curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true)@TimAckroyd嗨,Tim,我按照你的建议做了以下位置的更改,但没有任何更改。我还访问了浏览器中的URL,并将输出添加到问题中。我不确定这是否有什么不同,只是想让您知道我的站点是https,目标URL是http。@nickyb您的脚本看起来正确,运行此脚本时会出现什么错误?我只看到来自您浏览器的响应。请尝试此
curl\u setopt($ch,CURLOPT\u URL,'http://domain.com');
replace
curl\u setopt($ch,CURLOPT\u POSTFIELDS,array(api\u token=>'myapi token');curl_setopt($ch,CURLOPT_POSTFIELDS,数组(order_id=>'54512'))带有
curl\u setopt($ch,CURLOPT\u POSTFIELDS,array('api\u token'=>'my api token','order\u id'=>'54512')