Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.78 KB | None | 0 0
  1.     function get_data_ya($url) {
  2.         if (function_exists('curl_init')) {
  3.             $ch = curl_init($url);
  4.             curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 8);
  5.             curl_setopt($ch, CURLOPT_TIMEOUT, 15);
  6.             curl_setopt($ch, CURLOPT_HEADER, 0);
  7.             curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  8.             $data = curl_exec($ch);
  9.             curl_close($ch);
  10.             return $data;
  11.         } elseif (function_exists('allow_url_fopen')) {
  12.             return file_get_contents($url);
  13.         } else {
  14.             $parts = parse_url($url);
  15.             $target = $parts['host'];
  16.             $port = isset($parts['port']) ? $parts['port'] : 80;
  17.             $page = isset($parts['path']) ? $parts['path'] : '';
  18.             $page .= isset($parts['query']) ? '?' . $parts['query'] : '';
  19.             $page .= isset($parts['fragment']) ? '#' . $parts['fragment'] : '';
  20.             $page = ($page == '') ? '/' : $page;
  21.             if ($fp = @fsockopen($target, $port, $errno, $errstr, 3)) {
  22.                 @socket_set_option($fp, SOL_SOCKET, SO_RCVTIMEO, array("sec"=>1, "usec"=>1));
  23.                 $headers = "GET $page HTTP/1.1\r\n";
  24.                 $headers .= "Host: {$parts['host']}\r\n";
  25.                 $headers .= "Connection: Close\r\n\r\n";
  26.                 if (fwrite($fp, $headers)) {
  27.                     $resp = '';
  28.                     while (!feof($fp) && ($curr = fgets($fp, 128)) !== false) {
  29.                         $resp .= $curr;
  30.                     }
  31.                     if (isset($curr) && $curr !== false) {
  32.                         fclose($fp);
  33.                         return substr(strstr($resp, "\r\n\r\n"), 3);
  34.                     }
  35.                 }
  36.                 fclose($fp);
  37.             }
  38.         }
  39.         return false;
  40.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement