我想使用第三方服务器实现Android推送通知。 我有一个PHP脚本,其中包含一些CURL命令。 当我执行代码它给我错误: “无法解决主机:阵列” 在这里,我确认与托管网站,他们已经启动curl实施,它工作正常。所以看起来我的代码有问题。 我相对较新的PHP和卷曲脚本。请帮忙。 下面是我使用curl错误代码6:无法解析主机:数组
这里的代码,我想访问的网址是: http://android.googleapis.com/gcm/send
注:(这里我已经尝试使用HTTP和上面URL HTTPS,但问题依然存在。)
卷曲代码:
private function useCurl(&$model, $url, $headers, $fields = null) {
// Open connection
echo "::::::Inside CURL Function:::::::";
$ch = curl_init();
echo '::::::::::value of variable $ch:::::::::::' . $ch;
if ($url) {
// Set the url, number of POST vars, POST data
echo "::::::::Start of setting CURL Variables:::::::";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo ":::::::::End of setting CURL Variables::::::::";
// Disabling SSL Certificate support temporarly
echo "::::::::Start of disabling SSL Certificates::::::::";
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
if ($fields) {
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
}
echo "::::::::End of disabling SSL Certificates:::::::::";
// Execute post
echo ":::::::::Start of executing post request::::::::";
$result = curl_exec($ch);
echo ":::::::::End of executing post request:::::::::::";
if ($result === FALSE) {
die('Curl failed: ' . curl_error($ch) . curl_errno($ch));
}
// Close connection
curl_close($ch);
return $result;
}
}
在函数内部执行'var_dump($ url);'看看它的值是什么。它看起来像一个数组越来越通过作为网址,它需要是一个字符串。 – drew010
我得到了这一个....你是对的....我的$头被传递为一个数组....我在调用函数中将它作为json_enocde传递,它工作...但现在有一个新的错误....无法解析主机... [授权密钥= fkndfn .......] –
似乎是类似的,现在看来'$ url'不是URL,而是头文件。参数是否以正确的顺序传递给函数? – drew010