Bot-Sperre umgehen und Provider Name ermitteln

tsbmusic

Erfahrenes Mitglied
Hi Leute,

ich hab jetzt mal 2 Fragen auf einmal.

1. Wie kann man mit file_get_contents die Bot-Sperre umgehen weil zum Beispiel bei facebook bekomme ich da immer nur "Nicht unterstützer Browser". Kann man da irgendwie einen Browser vortäuschen?

2. Kann ich irgendwie von einer URL den Namen des Providers ermitteln?

Danke schonmal im voraus.

tsbmusic
 
1.
$opts = array(
'http'=>array(
'method'=>"GET",
'user_agent'=>"Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2) Gecko/20100301 Ubuntu/9.10 (karmic) Firefox/3.6\r\n",
'header'=>"Accept-language: en, de\r\n"));

$context = stream_context_create($opts);

$text = file_get_contents("http://www.facebook.com/search.php?q=" . $email, false, $context);

2. gethostbyname
 
Danke der Tipp zu erstens funktioniert :-)

2. allerdings gibt nur die IP zurück, ich möchte aber den Namen des Providers also zum Beispiel Facebook oder Google Inc.
 
Was exakt funktioniert nicht? Fehlermeldungen? Sonstiges?

Edit: Dies funktioniert bei mir prima:

PHP:
<?php
// Function stolen from http://stackoverflow.com/questions/399250/going-where-php-parse-url-doesnt-parsing-only-the-domain
function getDomain($url) {
  $pieces = parse_url($url);
  $domain = isset($pieces['host']) ? $pieces['host'] : '';
  if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs)) {
    return $regs['domain'];
  }
  return false;
}

$url = "http://www.google.de/search?q=test&ie=utf-8&oe=utf-8";

$domain = getDomain($url);

include_once('whois.main.php');

$whois = new Whois();

echo "Domain = $domain<br/>";

$result = $whois->Lookup($domain);

/*
echo "<pre>";
var_dump($result);
echo "</pre>";
*/
if($result < 0 )
	echo $result['ErrStr'];
else
	echo $result['regrinfo']['tech']['organization'];

?>
 
Zuletzt bearbeitet:
Zurück