Advertisement
Underworld1337

Untitled

Sep 5th, 2015
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.21 KB | None | 0 0
  1. function getWebContents($url)
  2. {
  3.   $parse = parse_url($url);
  4.   if(!$parse || !isset($parse['host']))
  5.   {
  6.     return false;
  7.   }
  8.  
  9.   $host = $parse['host'];
  10.   $port = isset($parse['port']) ? $parse['port'] : ($parse['scheme'] == 'http' ? 80 : 443);
  11.   $pfad = isset($parse['path']) ? $parse['path'] : '/';
  12.  
  13.   if (isset($parse['query']))
  14.   {
  15.     $query = array();
  16.     $parse['query'] = explode("&",urldecode($parse['query']));
  17.     foreach ($parse['query'] as $entry)
  18.     {
  19.       $entry = explode("=",$entry);
  20.       $query[] = $entry[0]."=".urlencode($entry[1]);
  21.     }
  22.     $parse['query'] = implode("&",$query);
  23.   }
  24.    
  25.   $ConnectionHandle = @fsockopen(($port != 443 ? $host : 'ssl://' . $host), $port, $errno, $errstr, 2);
  26.  
  27.   if(!$ConnectionHandle) {
  28.     return false;
  29.   }
  30.  
  31.   $request   = array();  
  32.   $request[] = "GET ".$pfad.(isset($parse['query'])?"?".$parse['query']:"")." HTTP/1.1";
  33.   $request[] = "Host: ".$host;
  34.   $request[] = "User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)";
  35.   $request[] = "Accept: text/html,text/plain";
  36.   $request[] = "Accept-Language: en-us,en;q=0.5";
  37.   $request[] = "Accept-Encoding: deflate";
  38.   $request[] = "Accept-Charset: ISO-8859-1";
  39.   $request[] = "Connection: close";
  40.  
  41.   $request = implode("\r\n",$request)."\r\n\r\n";
  42.  
  43.   fputs ($ConnectionHandle, $request);
  44.  
  45.   $retr = "";
  46.   while (!feof($ConnectionHandle))
  47.   {
  48.     $retr .= fgets($ConnectionHandle, 128);
  49.   }  
  50.  
  51.   fclose($ConnectionHandle);
  52.  
  53.   $pos = strpos($retr, "\r\n\r\n");
  54.   $header = substr($retr, 0, $pos);
  55.   $header = explode("\r\n", $header);
  56.    
  57.   $status = explode(" ",$header[0]);
  58.    
  59.   $http = $status[0];
  60.   unset($status[0]);
  61.   unset($header[0]);
  62.    
  63.   $h = array();
  64.   $h[$http] = implode(" ",$status);  
  65.    
  66.   foreach($header as $i)
  67.   {
  68.     $i = explode(":",$i);
  69.     $h[trim($i[0])] = trim($i[1]);
  70.   }
  71.  
  72.   $content = substr($retr, $pos + 4);
  73.  
  74.   $content = str_replace(array("ö", "ä", "ü", "ß", "Ö",  "Ä", "Ãœ", "é", "Â"),
  75.            array("ö", "ä", "ü",  "ß", "Ö", "Ä", "Ü","é"),
  76.            $content);
  77.  
  78.   return array("header" => $h, "content" => $content);
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement