cURL / wp_remote_post:在wordpress插件中不起作用

时间:2012-03-21 08:19:08

标签: wordpress plugins curl

我正在开发一个wordpress插件,它通过cURL后调用从其他网站提取数据。我在i wordpress插件和wordpress的外部测试了相同的代码。

wordpress的outsite脚本工作正常,但在wordpress插件中,脚本不会工作:

Wordpress插件:

$handle = curl_init();
curl_setopt($handle, CURLOPT_URL,             $url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER,  true);
curl_setopt($handle, CURLOPT_POST,            true );
curl_setopt($handle, CURLOPT_FOLLOWLOCATION,  true );
curl_setopt($handle, CURLOPT_POSTFIELDS,      array('postfield' => 'postfieldcontent'));

$result = curl_exec($handle);

主要网站:

mysql_query("INSERT INTO table (q, w, e, r, t, y, u) VALUES ('', '".$_POST[postfield]."', '', '', '', '', '')");

为了调试目的,我删除了所有数据库安全性。我也尝试了wp_remote_post函数,它也不起作用。我甚至试图使用wp_remote_get函数,但我可以访问get变量:

$result = wp_remote_get( 'http://qwerty.dk/folder/filename.php?getfield=qwertrert' );

我放弃了 - 请帮助:)。

祝你好运 金

1 个答案:

答案 0 :(得分:3)

您需要在php.ini文件中启用cURL。见#1347146

wp_remote_post()使用名为WP_Http的类,而后者又可以使用三种传输类之一(请参阅文件class-http.php函数_get_first_available_transport)。

POST方法适用于类WP_Http_Curl,但不适用于类WP_Http_Streams(cURL后备)。

另一种方法是使用wp_remote_get()