我正在创建一个wordpress插件,并且无法正常运行cURL调用。如何在wordpress插件中使用curl?
可以说我有一个页面www.domain.com/wp-admin/admin.php?page=orders
在订单页面我有一个看起来,看看是否点击一个按钮是如果函数因此它需要对同一页面执行cURL调用(www.domain.com/wp-admin/admin.php?page=orders & dosomething = true)以启动不同的功能。我这样做的原因是我可以让这个cURL调用是异步的。
我没有收到任何错误,但我也没有收到任何回复。如果我将我的网址更改为google.com或example.com,我会收到回复。是否存在认证问题或可能存在这种性质的问题?
我的代码看起来像这样..我使用gets,echo,而不是为了简化测试而做异步。
if(isset($_POST['somebutton']))
{
curlRequest("http://www.domain.com/wp-admin/admin.php?page=orders&dosomething=true");
}
if($_GET['dosomething'] == "true")
{
echo("do something");
exit;
}
function curlRequest($url) {
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
return($response);
}
您需要能够通过回送接口路由到您的网络服务器。 Web服务器可能已经配置为仅侦听“公共”IP,而不是在诸如127.0.0.1的环回地址上侦听。我建议在脚本中尝试一些愚蠢的东西,例如`system(“ping www.domain.com”)`,看看你是否可以在内部路由到主机。 – sarnold 2011-01-26 01:42:48
卷曲的作品,如果我只是去公共部分的wordpress ..又名www.domain.com。但是,如果我试图去管理员(wp-admin),它不会给出回应。 – Jason 2011-01-26 01:56:38