diff --git a/.gitignore b/.gitignore index dbed5a9b..3cd93155 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ vendor/ composer.lock .project .settings -.DS_Store \ No newline at end of file +.DS_Store +.idea diff --git a/SEOstats/Config/DefaultSettings.php b/SEOstats/Config/DefaultSettings.php index 96aa2c17..7123e5a9 100644 --- a/SEOstats/Config/DefaultSettings.php +++ b/SEOstats/Config/DefaultSettings.php @@ -66,4 +66,13 @@ interface DefaultSettings // fr – France // it – Italy const SISTRIX_DB = 'de'; + + // Enter proxy to use with curl + // leave empty to disable proxy + const CURLOPT_PROXY = ''; + + // Enter proxy username and password (seperated by :) if necessary + // leave empty tp to disable + const CURLOPT_PROXYUSERPWD = ''; + } diff --git a/SEOstats/Helper/HttpRequest.php b/SEOstats/Helper/HttpRequest.php index 0f8ba3d4..f0b92317 100644 --- a/SEOstats/Helper/HttpRequest.php +++ b/SEOstats/Helper/HttpRequest.php @@ -1,6 +1,8 @@ * @copyright Copyright (c) 2010 - present Stephan Schmitz * @license http://eyecatchup.mit-license.org/ MIT License - * @updated 2013/05/12 + * @updated 2016/03/17 */ class HttpRequest @@ -36,6 +38,12 @@ public static function sendRequest($url, $postData = false, $postJson = false) CURLOPT_MAXREDIRS => 2, CURLOPT_SSL_VERIFYPEER => 0, )); + if(!empty(DefaultSettings::CURLOPT_PROXY)) { + curl_setopt($ch, CURLOPT_PROXY, DefaultSettings::CURLOPT_PROXY); + } + if(!empty(DefaultSettings::CURLOPT_PROXYUSERPWD)) { + curl_setopt($ch, CURLOPT_PROXYUSERPWD, DefaultSettings::CURLOPT_PROXYUSERPWD); + } if (false !== $postData) { if (false !== $postJson) { @@ -79,6 +87,12 @@ public static function getHttpCode($url) CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_NOBODY => 1, )); + if(!empty(DefaultSettings::CURLOPT_PROXY)) { + curl_setopt($ch, CURLOPT_PROXY, DefaultSettings::CURLOPT_PROXY); + } + if(!empty(DefaultSettings::CURLOPT_PROXYUSERPWD)) { + curl_setopt($ch, CURLOPT_PROXYUSERPWD, DefaultSettings::CURLOPT_PROXYUSERPWD); + } curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); @@ -104,6 +118,12 @@ public function getFile($url, $file) CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_FILE => $fp, )); + if(!empty(DefaultSettings::CURLOPT_PROXY)) { + curl_setopt($ch, CURLOPT_PROXY, DefaultSettings::CURLOPT_PROXY); + } + if(!empty(DefaultSettings::CURLOPT_PROXYUSERPWD)) { + curl_setopt($ch, CURLOPT_PROXYUSERPWD, DefaultSettings::CURLOPT_PROXYUSERPWD); + } curl_exec($ch); curl_close($ch); diff --git a/composer.json b/composer.json index d9cfb953..255fab57 100644 --- a/composer.json +++ b/composer.json @@ -35,10 +35,10 @@ "ext-json" : "*" }, "require-dev" : { - "squizlabs/php_codesniffer" : "~1", + "squizlabs/php_codesniffer" : "~1", "composer/composer": "1.0.*@dev", "phpunit/phpunit" : ">=3.7,<4", - "scrutinizer/ocular" : "~1" + "scrutinizer/ocular" : "~1" }, "autoload" : { "psr-0" : {