To turn this feature on, you need to depend 'CURL'
Read the contents of the URL address through the 'POST' method
Default support for HTTPS address
Default Set: CURLOPT_CONNECTTIMEOUT = 1, CURLOPT_TIMEOUT = 1, CURLOPT_RETURNTRANSFER = 1,
CURLOPT_SSL_VERIFYPEER = 0, CURLOPT_SSL_VERIFYHOST = 0, CURLOPT_FOLLOWLOCATION = 1
public static string Asf_Util::postUrl(string $url [, array $data = array() [, array $opts = array()]])
URL Address
Fill in the associative array
Please refer to curl_setopt_array
Return the contents of the request.
call the function 'curl_exec' failure, returns 'Errno' and 'Error' exists in array elements. array('errno' => 'xxx', 'error' => 'yyy')
otherwise return FALSE on failure
Upload POST data; $_POST['user'] = 'zhangsan', $_POST['code'] = 999999
<?php var_dump(Asf\Util::postUrl("http://www.box3.cn", ['user' => 'zhangsan', 'code' => 999999]));
<?php $ret = Asf\Util::postUrl("http://www.box3.cn", ['user' => 'zhangsan', 'code' => 999999]); if ($ret && !is_array($ret)) { // now it's right }
Set CURL options, CURLOPT_TIMEOUT = 2
<?php var_dump(Asf\Util::postUrl("http://www.box3.cn", ['user' => 'zhangsan', 'code' => 999999], [CURLOPT_TIMEOUT => 2]));
Set CURL options 'CURLOPT_HTTPHEADER'
<?php var_dump(Asf\Util::postUrl("https://127.0.0.1/index.php?method=Admin.index", NULL, [CURLOPT_HTTPHEADER => ['Host: box3.cn']]));
Check for error return
<?php /* array(2) { ["errno"]=> int(6) ["error"]=> string(65) "Could not resolve host: 10111.108.211.223 (Domain name not found)" } */ var_dump(Asf\Util::postUrl("https://10111.108.211.223/index.php?method=Admin.index")),