X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=src%2FUtil%2FNetwork.php;h=f7ceab5433b217bbc33c2ccb98770cbaf40020f1;hb=c5ca5bfdf84f6fb5e4ba4d8509df25c58aeb516a;hp=e9d3fb1104887d0b68e64ee031ab4fbc4cedf86a;hpb=fab06c32e607cc17185af222a636eacc9e5368ed;p=friendica.git diff --git a/src/Util/Network.php b/src/Util/Network.php index e9d3fb1104..f7ceab5433 100644 --- a/src/Util/Network.php +++ b/src/Util/Network.php @@ -1,6 +1,6 @@ true, HttpClientOptions::TIMEOUT => $xrd_timeout]; - $curlResult = DI::httpClient()->head($url, $options); - + try { + $curlResult = DI::httpClient()->head($url, $options); + } catch (\Exception $e) { + return false; + } + // Workaround for systems that can't handle a HEAD request. Don't retry on timeouts. if (!$curlResult->isSuccess() && ($curlResult->getReturnCode() >= 400) && !in_array($curlResult->getReturnCode(), [408, 504])) { - $curlResult = DI::httpClient()->get($url, HttpClientAccept::DEFAULT, $options); + try { + $curlResult = DI::httpClient()->get($url, HttpClientAccept::DEFAULT, $options); + } catch (\Exception $e) { + return false; + } } - + if (!$curlResult->isSuccess()) { Logger::notice('Url not reachable', ['host' => $host, 'url' => $url]); return false; @@ -349,7 +357,7 @@ class Network $pair = $param . '=' . str_replace(' ', '+', $value); $url = str_replace($pair, '', $url); - // Third try: Maybey the url isn't encoded at all + // Third try: Maybe the url isn't encoded at all $pair = $param . '=' . $value; $url = str_replace($pair, '', $url); @@ -376,6 +384,7 @@ class Network */ public static function addBasePath(string $url, string $basepath): string { + $url = trim($url); if (!empty(parse_url($url, PHP_URL_SCHEME)) || empty(parse_url($basepath, PHP_URL_SCHEME)) || empty($url) || empty(parse_url($url))) { return $url; } @@ -499,7 +508,7 @@ class Network $scheme = $get('scheme'); $query = $get('query'); $fragment = $get('fragment'); - $authority = ($userinfo !== null ? $userinfo . '@' : '') . + $authority = ($userinfo !== null ? $userinfo . '@' : '') . $get('host') . ($port ? ":$port" : '');