Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] curl referer problem?
b4x
post
Post #1





Grupa: Zarejestrowani
Postów: 658
Pomógł: 95
Dołączył: 20.12.2005
Skąd: N54,35° E18,63° (Gdańsk)

Ostrzeżenie: (0%)
-----


Witam.
  1. <?php
  2. $ch = curl_init('http://mojastrona.pl/www/get.php');
  3.  
  4.       $headers = array(
  5.             'Host: www.mojastrona.pl',
  6.                         'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7',
  7.                         'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  8.                         'Accept-Language: pl,en-us;q=0.7,en;q=0.3',
  9.                         'Accept-Encoding: gzip,deflate',                  
  10.                         'Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7',
  11.                         'Keep-Alive: 300',
  12.                         'Connection: keep-alive',
  13.                         'Referer: <a href=\"http://www.mojastrona.pl/'&#092;" target=\"_blank\">http://www.mojastrona.pl/'</a>,
  14.                         'Cookie: PHPSESSID=b38e97fe38f0a30f9a68311331ffbe3b',
  15.                         );
  16.                        
  17. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers );
  18. curl_setopt($ch, CURLOPT_REFERER, ' <a href=\"http://www.mojastrona.pl/');&#092;" target=\"_blank\">http://www.mojastrona.pl/');</a>
  19. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  20.  
  21. $html = curl_exec($ch);
  22. echo $html;
  23. ?>


Z MojaStronaX.pl chce pobrać pewne dane z MojaStrona.pl - gdzie jest sprawdzane Referer - lecz MojaStrona.pl - nie wykrywa go. Ma ktoś jakies pomysły?smile.gif

Jeśli wyśle przez Live HTTP Headers takie headery to jest ok ale przez curla nie :<


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no ale referer to ma byc adres www a nie link...

edit down:
hehe, no to sorki winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
b4x
post
Post #3





Grupa: Zarejestrowani
Postów: 658
Pomógł: 95
Dołączył: 20.12.2005
Skąd: N54,35° E18,63° (Gdańsk)

Ostrzeżenie: (0%)
-----


Wiem że ma być adres - wasz parser tak mi zamienił smile.gif


--------------------
Go to the top of the page
+Quote Post
zegarek84
post
Post #4





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


Kod
'Cookie: PHPSESSID=b38e97fe38f0a30f9a68311331ffbe3b',

czy to nie przestażała sesja?? ;p

pozatym może cURL u Ciebie nie wie jak rozkodować gzip?? - bezpieczniej tą część zadeklarować:
Kod
// gzip
curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
// deflate
curl_setopt($ch, CURLOPT_ENCODING, 'deflate');
// gzip, deflate
curl_setopt($ch, CURLOPT_ENCODING, '');


no i chyba jeśli do danej części nagłówków jest też funkcja to też bym jej urzył a ręcznie dopisał to czego nie ma, np:
Kod
curl_setopt($ch, CURLOPT_USERAGENT, 'Twój user agent');
curl_setopt($ch, CURLOPT_REFERER, 'jakiś referer');


poza tym dobrze by było przechwycić błędy z cURL'a:
Kod
if(curl_errno($ch)){echo 'Błąd #'.curl_errno($ch).': '.curl_error($ch);}

wtedy wiesz czy są błędy w połączeniu i czego szukać, co jeszcze w cURL'u dopisać, np. może trzeba dopisać - ale to gdybanie i nie dopisuj jeśli nie znasz błędu:
Kod
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);



[EDIT]
a i czasem są odświeżane info w ciasteczkach to i do tego wolałbym użyć:
Kod
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');

zamiast "ręcznie" wysyłać zmienne cookie

Ten post edytował zegarek84 18.03.2009, 11:39:58


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 22:25