From: Antonio Ospite Date: Sun, 11 Aug 2013 23:13:56 +0000 (+0200) Subject: Use cURL for Tweeper::get_contents() too X-Git-Tag: v0.1~12^2~1 X-Git-Url: https://git.ao2.it/tweeper.git/commitdiff_plain/3e82c7699c0cf07313fe1ae7d5c5de18b13da470?hp=f10331c2001ba9ac72b8ccede428a98dcd9282e8 Use cURL for Tweeper::get_contents() too So that the same mechanism is used for getting content and info. Note, the "file://" scheme has to be prepended to local files so cURL can handle them. --- diff --git a/tweeper.php b/tweeper.php index 94d91c3..14c3a7a 100644 --- a/tweeper.php +++ b/tweeper.php @@ -47,20 +47,20 @@ class Tweeper { return Tweeper::epoch_to_gmdate($timestamp); } - private static function get_contents($uri) { - # https://www.wjsams.com/c/docs/Wiki/Php-HowToSetUserAgentOnFileGetContents - $opts = array( - 'http' => array( - 'method' => "GET", - 'header' => join(array( - "Accept-language: en\r\n", - "User-Agent: {" + Tweeper::$USER_AGENT + "}\r\n" - )) - ) - ); + private static function get_contents($url) + { + $ch = curl_init($url); + curl_setopt_array($ch, array( + CURLOPT_HEADER => FALSE, + CURLOPT_RETURNTRANSFER => TRUE, + CURLOPT_SSL_VERIFYHOST => FALSE, + CURLOPT_SSL_VERIFYPEER => FALSE, + CURLOPT_HTTPHEADER => array('Accept-language: en'), + CURLOPT_USERAGENT => Tweeper::$USER_AGENT, + )); + $contents = curl_exec($ch); + curl_close($ch); - $context = stream_context_create($opts); - $contents = file_get_contents($uri, false, $context); return $contents; } @@ -204,7 +204,7 @@ $url = parse_url($options['src_url']); if (FALSE === $url || empty($url["host"])) die("Invalid url: ${options['src_url']}\n"); -$stylesheet = __DIR__ . "/rss_converter_" . $url["host"] . ".xsl"; +$stylesheet = "file://" . __DIR__ . "/rss_converter_" . $url["host"] . ".xsl"; if (FALSE === file_exists($stylesheet)) die("Conversion to RSS not supported: {$url["host"]}\n");