Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Google i curl
Forum PHP.pl > Forum > PHP
sparco
witam,

mecze sie z napisaniem bota do sprawdzania pozycji stron w google pod slowo kluczowe
napisalem prosta funkcje do polaczen z google, ale raczej nie jest to naturalne polaczenie i czesto dostaje bana od google

  1. <?php
  2. function curl_contents( $URL )
  3. {        
  4.        $c = curl_init();
  5.        curl_setopt($c, CURLOPT_HEADER, 0);
  6.        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  7.        curl_setopt($c, CURLOPT_URL, $URL);
  8.        $contents = curl_exec($c);
  9.        curl_close($c);
  10.        if ( $contents )
  11.        {
  12.                return $contents;
  13.        }
  14.        else
  15.        {
  16.                return false;
  17.        }
  18. }
  19. ?>


jak zmodyfikowac to polaczenie, aby google uznawalo je za zwyklego uzytkownika?
mati0090
Do swojego kodu dodaj:
  1. <?php
  2. curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12\");
  3. ?>
sparco
hmm jak dodam useragent to google wogole nie odpowiada ;/
pyro
a ty skopiowales tego user_agenta od uzytkownika wyzej? bo forum mu dodalo przed cudzyslowami backslashe...
sparco
backslasha wywalilem odrazu winksmiley.jpg
pyro
a pokaz jak teraz wyglada caly kod
sparco
  1. <?php
  2. function curl_contents( $URL )
  3. {        
  4.        $c = curl_init();
  5.        curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12");
  6.        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);        
  7.        curl_setopt($c, CURLOPT_URL, $URL);
  8.        $contents = curl_exec($c);
  9.        curl_close($c);
  10.        if ( $contents )
  11.        {
  12.                return $contents;
  13.        }
  14.        else
  15.        {
  16.                return false;
  17.        }
  18. }
  19. ?>
pyro
u mnie dziala poprawnie...
sparco
dziwna sprawa, odpowiedz od google jest ale pozycja = 0, a gdy wytne useragent pozycja jest poprawna ;/
pyro
Cytat(sparco @ 1.11.2008, 12:42:43 ) *
dziwna sprawa, odpowiedz od google jest ale pozycja = 0, a gdy wytne useragent pozycja jest poprawna ;/


a u mnie z user_agentem jest ok tongue.gif
sparco
hmm dziala ale tak

  1. <?php
  2. curl_setopt($c, CURLOPT_USERAGENT, "Opera/9.20 (Windows NT 5.1; U; pl)");
  3. ?>


czy dodanie

  1. <?php
  2. curl_setopt($c, CURLOPT_REFERER, $ref);
  3. ?>


pomoze?
pyro
Cytat(sparco @ 1.11.2008, 13:00:07 ) *
hmm dziala ale tak

  1. <?php
  2. curl_setopt($c, CURLOPT_USERAGENT, &#092;"Opera/9.20 (Windows NT 5.1; U; pl)\");
  3. ?>


czy dodanie

  1. <?php
  2. curl_setopt($c, CURLOPT_REFERER, $ref);
  3. ?>


pomoze?


referer raczej wiele nie zmieni
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.