我正在制作一个插件,将来自外部API的数据与WordPress backoffice中的元项目进行比较。
我试过使用wp_remote_get
方法查询我的API,但它不返回任何内容、任何人或任何内容。当在浏览器中使用相同的URL直接访问时,API会生成JSON数组,不会出现问题。
我做错了什么?
这是(插件中部分省略了代码)
..........
$chopped = explode("@", $meta[\'Email\'][0]);
$url = \'http://example.com/api/users/\'.$chopped[0].\'/\'.$chopped[1];
global $wp_version;
$args = array(
\'timeout\' => 5,
\'redirection\' => 5,
\'httpversion\' => \'1.0\',
\'user-agent\' => \'WordPress/\' . $wp_version . \'; \' . home_url(),
\'blocking\' => true,
\'headers\' => array(),
\'cookies\' => array(),
);
$response = wp_remote_get( $url, $args );
$body = wp_remote_retrieve_body( $response );
$http_code = wp_remote_retrieve_response_code( $response );
echo \'<pre> Test dump: \'.print_r($http_code,1).\'</pre>\';
编辑1:对于那些可能认为它与csrf保护或类似软件有关的人,我可以从
https://www.hurl.it/ 也没有任何问题。这个错误是不是因为我在钩子里调用它?
编辑2:我得到的响应代码
WP_Error Object
(
[errors] => Array
(
[http_request_failed] => Array
(
[0] => Connection timed out after 5003 milliseconds
)
)
[error_data] => Array
(
)
)