Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobranie zablokowanej strony przez CURL
tomekmvr
post 14.05.2019, 11:46:32
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 11.09.2006

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


Witam
Próbuje pobrać stronę 1xbet.com za pomocą Curl, ale że strona nie jest dostępna w Polsce zakupiłem serwer w Rosji i tam próbowałem odpalić skrypt który by się łączył z tą stroną, ale dostaje komunikat po angielsku że strona nie jest dostępna w Twoim kraju.
I moje pytanie w jaki sposób można obejść blokady aby połączyć z taką strona?

Ten post edytował tomekmvr 14.05.2019, 11:59:24


--------------------
Go to the top of the page
+Quote Post
adbacz
post 14.05.2019, 15:07:52
Post #2





Grupa: Zarejestrowani
Postów: 517
Pomógł: 23
Dołączył: 15.04.2011
Skąd: Kalisz

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


Tylko i wyłącznie poprzez request z serwera/adresu IP z kraju który nie jest objęty blokadą regionalną. Niestety, ale serwery proxy są rozsiane po całym świecie, jeśli nie dostaniesz jasnej informacji gdzie dany proxy działa to nie ma pewności, że kupując w rosyjskojęzycznej stronie, serwer fizycznie będzie stał w Rosji.


--------------------
PHPCenter.pl - Portal Informacyjny

Informacje o PHP, Artykuły, Aktualności, Wydarzenia, Biblioteki
Go to the top of the page
+Quote Post
tomekmvr
post 14.05.2019, 17:34:54
Post #3





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 11.09.2006

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


IP serwera to: 91.218.229.13 po sprawdzeniu pokazuje, że znajduje się w rosji.
WIęc chyba to nie winna serwera.
Może jakieś na główki w Curl trzeba dodać?

chyba, że ta strona też w Rosji nie działa? ale wątpie

i czy domena, która jest zarejestrowana w Polsce ma na to jakiś wpływ?
o to mój kod:
  1. $url = 'https://1xbet.com/';
  2.  
  3.  
  4. $ch = curl_init($url);
  5. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  6. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  7.  
  8. curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
  9.  
  10.  
  11. $output = curl_exec($ch);
  12.  
  13. if(curl_errno($ch)){
  14. throw new Exception(curl_error($ch));
  15. }
  16.  
  17.  
  18. echo $output;


Ten post edytował tomekmvr 14.05.2019, 17:38:33


--------------------
Go to the top of the page
+Quote Post
Tomplus
post 14.05.2019, 17:47:04
Post #4





Grupa: Zarejestrowani
Postów: 1 359
Pomógł: 163
Dołączył: 20.03.2005
Skąd: Będzin

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


Ale co w ogóle zwraca Ci curl?
To samo gdybyś pobrał stronę bez użycia curl czyli file_get_contents($url);

Curl jest pomocne gdy potrzebujesz wejść na stronę przedstawiając się jako dana przeglądarka np. Chrome czy Firefox, ale jak chcesz pobrać ogólnie dostępne wartości do nie jest wymagane.

Go to the top of the page
+Quote Post
tomekmvr
post 14.05.2019, 17:53:58
Post #5





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 11.09.2006

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


file_get_contents($url) także w tym przypadku, nie działa.

Więc próbuje używać curl dodając więcej opcji to dostje komunikat, że strona nie jest dostępna w tym kraju
lub
wyświetla mi się strona z informacją
"Dostęp do zasobów informacyjnych jest ograniczony na podstawie ustawy federalnej z dnia 27 lipca 2006 r. N 149-ФЗ „Informacje, technologie informacyjne i ochrona informacji”"


  1.  
  2. <?php
  3. $url = 'https://1xbet.com/';
  4.  
  5. $cookie = tmpfile();
  6. $userAgent = 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31' ;
  7.  
  8. $ch = curl_init($url);
  9.  
  10. $options = array(
  11. CURLOPT_CONNECTTIMEOUT => 20 ,
  12. CURLOPT_USERAGENT => $userAgent,
  13. CURLOPT_AUTOREFERER => true,
  14. CURLOPT_FOLLOWLOCATION => true,
  15. CURLOPT_RETURNTRANSFER => true,
  16. CURLOPT_COOKIEFILE => $cookie,
  17. CURLOPT_COOKIEJAR => $cookie ,
  18. CURLOPT_SSL_VERIFYPEER => 0 ,
  19. CURLOPT_SSL_VERIFYHOST => 0
  20. );
  21.  
  22. curl_setopt_array($ch, $options);
  23. $kl = curl_exec($ch);
  24. curl_close($ch);
  25. echo $kl;
  26. ?>


Ten post edytował tomekmvr 14.05.2019, 18:02:47


--------------------
Go to the top of the page
+Quote Post
Tomplus
post 14.05.2019, 18:02:14
Post #6





Grupa: Zarejestrowani
Postów: 1 359
Pomógł: 163
Dołączył: 20.03.2005
Skąd: Będzin

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


spróbuj:

  1. curl_setopt($ch, CURLOPT_HTTPHEADER,"Accept-Language: ru;q=0.5");


lub

  1. curl_setopt($ch, CURLOPT_HEADER, false);


Go to the top of the page
+Quote Post
tomekmvr
post 14.05.2019, 19:36:17
Post #7





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 11.09.2006

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


Niestety, żadne rozwiązanie nie daje skutku.

Będę próbował, dalej, może w końcu mi się uda.


--------------------
Go to the top of the page
+Quote Post
adbacz
post 14.05.2019, 19:42:23
Post #8





Grupa: Zarejestrowani
Postów: 517
Pomógł: 23
Dołączył: 15.04.2011
Skąd: Kalisz

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


Nowa opera ma wbudowany tryb VPN gdzie łączysz się z innych krajów. Możesz spróbować od siebie i zobaczyć co pobierze przeglądarka. Dodatkowo w internecie jest dużo bezpłatnych proxy - możesz je użyć do testów, czy serwer docelowy zwraca konkretną treść w zależności od kraju serwera proxy.


--------------------
PHPCenter.pl - Portal Informacyjny

Informacje o PHP, Artykuły, Aktualności, Wydarzenia, Biblioteki
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 Wersja Lo-Fi Aktualny czas: 19.05.2019 - 08:21