gpt4 book ai didi

php - 你如何在 wordpress 插件中使用 curl?

转载 作者:可可西里 更新时间:2023-11-01 13:09:47 34 4
gpt4 key购买 nike

我正在创建一个 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、echos,而不是为了便于测试而使用 async。

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);
}

最佳答案

您不应该在 WordPress 插件中使用 CURL。

改为使用 wp_ 函数来发出 HTTP 请求,例如

function wp_plugin_event_handler () {
$url = 'http://your-end-point';
$foo = 'bar';
$post_data = array(
'email' => urlencode($foo));

$result = wp_remote_post( $url, array( 'body' => $post_data ) );
}

add_action("wp_plugin_event", "wp_plugin_event_handler");

过去,我遇到过 WordPress 插件事件处理程序会因 CURL 而挂起的问题。使用 WP_ 函数反而按预期工作。

关于php - 你如何在 wordpress 插件中使用 curl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4800688/

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