我正在开发一个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' );
我放弃了 - 请帮助:)。
祝你好运 金
答案 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()