Код: Выделить всё
function getCURL($url, $decode = '', $data = '', $headers = '', $timeout='') {
global $_SERVER;
$ch = curl_init();
if($timeout){
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0');
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
if(is_array($data)){
curl_setopt($ch, CURLOPT_POST, count($data));
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
if(is_array($headers)){
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}
$response = curl_exec($ch);
if ($response === false) {
echo 'Error: ' . curl_error($ch);
} else {
$response = ($decode == true)? json_decode($response,true) : $response;
if($decode == true){ $response['httpcode'] = curl_getinfo($ch, CURLINFO_HTTP_CODE); }
}
curl_close($ch);
return $response;
}
$token = substr(md5(time().$_SESSION['auth_user']['username']),0,25);
// Format API Link
$alias = 'ADR'.randHash(12);
$long_url = "{$urlweb}/shortlinks/{$token}";
$api_token = "b644192e44dded8871e867747698bea4d2ce6b8e";
$api_url = str_replace('?api={apikey}&url={url}', '?api={apikey}&alias={alias}&url={url}', $sldata[$shortlinkname]['apilink']);
$api_url = str_replace(array('{apikey}', '{url}', '{alias}'), array($sldata[$shortlinkname]['apitoken'], $long_url, $alias), $api_url);
// Get Shortlink
$shortlink = getCURL($api_url);
$shortlink = (strstr($shortlink,'":"'))? current(preg_grep('~^http~',json_decode($shortlink,true))) : trim($shortlink);
if(!strpos($shortlink, 'api/') && !strpos($shortlink, 'api.php') && filter_var($shortlink, FILTER_VALIDATE_URL)){
$_SESSION['auth_user']['sl']['link_id'] = $shortlinkname;
$_SESSION['auth_user']['sl']['token'] = $token;
$_SESSION['auth_user']['sl']['link'] = preg_replace("/\s\s+/", " ", $shortlink);
$_SESSION['auth_user']['sl']['time'] = time();
header("Location: $shortlink");
exit;
}
Веб-сайт, на котором я запрашиваю ответ, – https, это даст мне json, где у этого json есть http-ссылка, я не знаю, влияет ли это на нее, у меня это работает с другими ссылками, но с этой он возвращает это.
Я используйте AutoSSL
Подробнее здесь: https://stackoverflow.com/questions/783 ... et-by-peer