/**
* curlGet
* @param $url
* @param string $extra_header
* @param int $connect_timeout_ms
* @param int $timeout_ms
* @return mixed
*/
public function executeGet($url, $extra_header = '', $connect_timeout_ms = 10000, $timeout_ms = 10000)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT_MS, $connect_timeout_ms);
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout_ms);
curl_setopt($curl,CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/
537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36");
$headers = array();
if (!empty($extra_header)) {
array_push($headers, 'Content-Type: application/json; charset=utf-8');
array_push($headers, $extra_header);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
}
curl_exec($curl);
$output = curl_getinfo($curl);
curl_close($curl);
return $output;
}
/**
* urlPost
* @param $url
* @param string $extra_header
* @param int $connect_timeout_ms
* @param int $timeout_ms
* @return mixed
*/
public function executePost($url ,$extra_header = '', $connect_timeout_ms = 10000, $timeout_ms = 10000)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT_MS, $connect_timeout_ms);
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout_ms);
curl_setopt($curl,CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/
537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36");
$post_string = isset($GLOBALS['HTTP_RAW_POST_DATA']) ?
json_decode(self::safe_urldecode(str_replace('data=', '', $GLOBALS['HTTP_RAW_POST_DATA'])), true) : [];
empty($res) && !empty($_POST) && $post_string = $_POST;
if (is_array($post_string)) {
$post_string = json_encode($post_string, JSON_UNESCAPED_SLASHES);
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_string);
$headers = array();
array_push($headers, 'Content-Type: application/json; charset=utf-8');
array_push($headers, 'Content-Length: ' . strlen($post_string));
if (!empty($extra_header)) {
array_push($headers, $extra_header);
}
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_exec($curl);
$output = curl_getinfo($curl);
curl_close($curl);
return $output;
}
/**
* curl代理
* @param $url 请求地址
* @param $host 代理IP
* @return mixed
*/
public function generateLocalCache($url, $host)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER , array('X-FORWARDED-FOR:8.8.8.8', 'CLIENT-IP:8.8.8.8'));
curl_setopt($ch, CURLOPT_PROXY , $host);
curl_setopt($ch, CURLOPT_PROXYPORT, 80);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_exec($ch);
$result = curl_getinfo($ch);
return $result;
}