2013-06-25 3 views
10

Potrzebuję prostego pełną PHP + kod curl sfałszować odsyłającą, próbowałem kilka innych, ale nie działa, ostatni sprawdziłem jest tojak parodia referrer z curl i php?

function doMagic($url) 
{ 
    $curl = curl_init(); 

    $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,"; 
    $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"; 
    $header[] = "Cache-Control: max-age=0"; 
    $header[] = "Connection: keep-alive"; 
    $header[] = "Keep-Alive: 300"; 
    $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"; 
    $header[] = "Accept-Language: en-us,en;q=0.5"; 
    $header[] = "Pragma: "; 

    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.12011-10-16 20:23:00"); 
    curl_setopt($curl, CURLOPT_HTTPHEADER, $header); 
    curl_setopt($curl, CURLOPT_REFERER, "http://www.facebook.com"); 
    curl_setopt($curl, CURLOPT_ENCODING, "gzip,deflate"); 
    curl_setopt($curl, CURLOPT_AUTOREFERER, true); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($curl, CURLOPT_TIMEOUT, 30); 
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION,true); 

    $html = curl_exec($curl); 
    echo 'Curl error: '. curl_error($curl); 
    curl_close($curl); 

    return $html; 
} 

proszę uczynić go więc mogę wprowadzić docelowy adres URL za pomocą metody post, jeśli to możliwe

Edit- powyżej dając mi błąd http://s9.postimg.org/uhk87o2rz/image.png

+0

zamieszczony przykład wygląda dobrze dla mnie Nie widzę z nim problemu. Jedyną rzeczą jest to, że referer jest zawsze ustawiony na facebook.com – gries

+0

Otrzymuję komunikat "błąd zwijania": z witryną docelową na górze strony, jak mogę zamienić facebook.com na niestandardowy obiekt odsyłający –

Odpowiedz

16

Przy pomocy CURLOPT_REFERRER opcji , które już wykorzystane.

curl_setopt($ch, CURLOPT_REFERER, "your referer website"); 

[EDIT] Nie sądzę, że na stronie internetowej można znaleźć Referer witryny localhost.

Spróbuj na Google Chrome Browser

w narzędziach dla programistów, przejdź do widoku Network (jeśli jeszcze nie został otwarty po załadowaniu strony, trzeba przeładować, aby to zaludnione) . Kliknij na żądanie strony głównej - powinna znajdować się na górze listy. Po kliknięciu, prawy panel prawdopodobnie pokaże dla niego kod HTML. Kliknij na zakładkę "Nagłówki" po prawej stronie. Referer jest wyświetlany na liście nagłówków żądań.

+0

Otrzymuję komunikat o błędzie z powyższym kodem należy opublikować pełny kod php, aby użyć –

+1

Po prostu ustaw dowolną stronę odsyłającą, taką jak ta 'curl_setopt ($ ch, CURLOPT_REFERER," http://www.google.com/bot.html "); ' –

+0

zobacz tutaj http://s9.postimg.org/uhk87o2rz/image.png –