From c5d51f9e0cf8fcfb4fef0c85eba9800d100ea615 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=86=E5=B0=8F=E5=87=A4?= Date: Tue, 25 Dec 2018 17:09:22 +0800 Subject: [PATCH] support socks5 --- lib/Tinify/Client.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/Tinify/Client.php b/lib/Tinify/Client.php index cc3cce3..327393e 100644 --- a/lib/Tinify/Client.php +++ b/lib/Tinify/Client.php @@ -43,8 +43,17 @@ function __construct($key, $app_identifier = NULL, $proxy = NULL) { if ($proxy) { $parts = parse_url($proxy); - if (isset($parts["host"])) { - $this->options[CURLOPT_PROXYTYPE] = CURLPROXY_HTTP; + if (isset($parts['scheme']) && isset($parts["host"])) { + switch ($parts['scheme']) { + case 'http': + $this->options[CURLOPT_PROXYTYPE] = CURLPROXY_HTTP; + break; + case 'socks5': + $this->options[CURLOPT_PROXYTYPE] = CURLPROXY_SOCKS5; + break; + default: + $this->options[CURLOPT_PROXYTYPE] = CURLPROXY_HTTP; + } $this->options[CURLOPT_PROXY] = $parts["host"]; } else { throw new ConnectionException("Invalid proxy");