Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Pobieranie danych ze strony
Forum PHP.pl > Forum > PHP
blackD
Witam winksmiley.jpg

Mam pewien problem :/ mianowicie chce za pomocą php pobrać dane z innej strony
Problem w tym ze dane znajdują się po zalogowaniu.

Podam tu przykład

Chcę pobrać zawartość tej strony http://www.bet-at-home.com/accountBetDetai...etNumber=115194

ale to nie działa :/

używam tego skryptu:

  1. <?php
  2. $url=("http://www.bet-at-home.com/accountBetDetail.aspx?TicketNumber=115194");
  3. $tresc= file_get_contents($url);
  4.  
  5. $plik=fopen("dane.txt", "w+");
  6. fwrite($plik, $tresc);
  7. fclose($plik);
  8. ?>


ale to nie działa :/ bo się łączy strony jako niezalogowany
i co za tym idzie.. pobrane zostaną ze strony starowej

http://www.bet-at-home.com/start.aspx

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

Jeśli ktoś z was ma pomysł jak to zrobić to będę bardzo wdzięczny

Pozdrawiam


tak tez robilem :
  1. <?php
  2. $domena = 'www.bet-at-home.com';
  3. $plik = '/accountBetDetail.aspx?TicketNumber=115199';
  4. if ($fp = fsockopen($domena, 80)) {
  5. $data = "GET $plik HTTP/1.1rn";
  6. $data .= "Host: $domenarn";
  7. $data .= "Connection: Closernrn";
  8. fputs($fp, $data);
  9. $data = '';
  10. while (strlen($buf = fread($fp, 1024))) $data .= $buf;
  11. fclose($fp);
  12. $data = substr($data, strpos($data, "rnrn") + 4);
  13. if ($fp = fopen('dane.txt', 'w')) fputs($fp, $data);
  14. }
  15. ?>


ale nie dziala

i jeszcze jedno.. jesli ktos by chcial pomoc i samemu sprawdzic to na bet-at-home jest mozliwosc logowania za pomoca gościa (bez hasla)


Juz od kilku dni sie z tym mecze :/ na 4p nikt nie mogl pomoc..na jamie i kilku innych serwisach :/ juz nie mam sil.. moze ktos z was mi pomoze

Pozdrawiam i dziękuję
Adrian Staniszewski
Aby sie zalogowac uzyc CURL

Pozdrawiam
blackD
mozna prosic o jakis przyklad, bo nie daje sobie rady..
blackD
Cytat(lenczewski @ 9.11.2006, 00:56:05 ) *


ja prosilem o przyklad a nie wyjasnienie terminu curl



Cytat(Adrian Staniszewski @ 8.11.2006, 20:56:43 ) *
Aby sie zalogowac uzyc CURL

Pozdrawiam



Probowalem ale nie jest na takim szczeblu zaawansowania

takze odswieazam temat
thornag
Przeciez w linku ktory diostales jest opisane korzystanie z Curla ! Jesli sam sobie nie przeczytasz i nie sprobujesz to nikt Ci tutaj nie pomoze. Pytales o przyklady sa wlasnie w artykule idz tez do manuala i zapytaj do o cURL, tak samo wujek google powinien miec wiele do powiedzenia. Jak juz sobie poczytasz i poprobujesz i cos nie bedzie wychodzilo, wtedy wroc na forum wklej kod i opisz problem, my postaramy sie w tym kodzie znalezc bledy i poprowadzic dalej.

Forum sluzy do pomocy a nie wykonywania pracy za innych.

Wykaz troche checi i przeczytaj caly artykul.
blackD
Cytat(thornag @ 13.11.2006, 11:52:18 ) *
Przeciez w linku ktory diostales jest opisane korzystanie z Curla ! Jesli sam sobie nie przeczytasz i nie sprobujesz to nikt Ci tutaj nie pomoze. Pytales o przyklady sa wlasnie w artykule idz tez do manuala i zapytaj do o cURL, tak samo wujek google powinien miec wiele do powiedzenia. Jak juz sobie poczytasz i poprobujesz i cos nie bedzie wychodzilo, wtedy wroc na forum wklej kod i opisz problem, my postaramy sie w tym kodzie znalezc bledy i poprowadzic dalej.

Forum sluzy do pomocy a nie wykonywania pracy za innych.

Wykaz troche checi i przeczytaj caly artykul.


Sam uczęszczam na inne fora od kilku lat pomagając początkującym, wiem co w tym momencie czujesz. Jest jakiś inny, łatwiejszy sposób? heh bo ten z curlem mnie chyba przewyższa winksmiley.jpg no ale cóż.. muszę zobaczyć, jeszcze popróbować


  1. <?
  2. $f=curl_init();
  3. curl_setopt($f, CURLOPT_URL, "http://www.bet-at-home.com/accountBetDetail.aspx?TicketNumber=115925");
  4. curl_setopt($f, CURLOPT_RETURNTRANSFER, 1);
  5. $strona=curl_exec($f); 
  6. curl_close($f);
  7.  
  8. echo $strona;
  9. ?>


dlaczego wyświetla mi się komunikat "Object moved to here." gdzie pod linkiem here mam "http://moja_strona.ovh.org/start.aspx (start.aspx - to plik który jest wyświetlany po nieudanym logowaniu do strony na bet-at-home)

Co ja teraz muszę zrobić? Wysłać ciasteczko za pomocą curla? Czy może jakoś wysłać dane do logowania metoda post a następnie pobrać dane tak jak pokazałem w przykładzie?

mam jeszcze jedno pytanie winksmiley.jpg
a nie mozna by było tego zrobić tak ze:

1. Pierw wchodze na bet-at-home.com
2. Loguje sie
3. Wchodze na strone moja_strona.ovh.org gdzie jest odpalany skrypt php ktory jest odpowiedzialny za pobranie strony http://www.bet-at-home.com/accountBetDetai...etNumber=115925

? nie mozna by bylo tak zrobic?

Cytat(thornag @ 13.11.2006, 11:52:18 ) *
Przeciez w linku ktory diostales jest opisane korzystanie z Curla ! Jesli sam sobie nie przeczytasz i nie sprobujesz to nikt Ci tutaj nie pomoze. Pytales o przyklady sa wlasnie w artykule idz tez do manuala i zapytaj do o cURL, tak samo wujek google powinien miec wiele do powiedzenia. Jak juz sobie poczytasz i poprobujesz i cos nie bedzie wychodzilo, wtedy wroc na forum wklej kod i opisz problem, my postaramy sie w tym kodzie znalezc bledy i poprowadzic dalej.

Forum sluzy do pomocy a nie wykonywania pracy za innych.

Wykaz troche checi i przeczytaj caly artykul.



szkoda ze nikt mi teraz nie pomógł

Temat: Pobranie strony za pomoca CURL
tiraeth
Nie, nie można tak zrobić...

Jedyny sposób to wysłanie nagłówków CURLem z pseudo logowaniem a dopiero potem pobranie strony.
blackD
Cytat(tiraeth @ 21.11.2006, 08:17:04 ) *
Nie, nie można tak zrobić...

Jedyny sposób to wysłanie nagłówków CURLem z pseudo logowaniem a dopiero potem pobranie strony.



zrobilem tak ja mowisz.. alte ten sposob nie dziala :/

  1. <?php
  2.  $bet_at_home_login = "xxxxx";
  3.  $bet_at_home_pass = "xxxxx";
  4.  $cookie_file_path = "cookies/";
  5.  
  6.  
  7.  $LOGINURL = 'http://www.bet-at-home.com/start.aspx?logout=true';
  8.  $agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)';
  9.  $ch = curl_init();
  10.  curl_setopt($ch, CURLOPT_URL,$LOGINURL);
  11.  curl_setopt($ch, CURLOPT_USERAGENT, $agent);
  12.  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  13.  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  14.  curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
  15.  curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
  16.  $result = curl_exec ($ch);
  17.  
  18.  curl_close ($ch);
  19.  
  20.  
  21.  $LOGINURL = 'http://www.bet-at-home.com/start.aspx?logout=true';
  22.  $POSTFIELDS = "__EVENTTARGET=&__EVENTARGUMENT=& amp;__VIEWSTATE=dDwtMTU0MTI3MTY0NDt0PDtsPGk8MT47PjtsPHQ8O2w8aTwxPjtpPDE5Pjt
    pPDIz
  23. Pjs%2BO2w8dDw7bDxpPDA%2BOz47bDx0PDtsPGk8MTU%2BO2k8MTk%2BO2k8MjE%2BO2k8MjM%2BO2k8MjU%2BO2k8Mzk%2BO2k8NDE%2BO2k8NDM%2BO2k8NDU% 2BOz47bDx0PHA8cDxsPFZpc2libGU7PjtsPG88dD47Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDEyN
    D
  24. I4NzQ0Oz4%2BOz47Oz47dDxwPGw8VmlzaWJsZTs%2BO2w8bzxmPjs%2BPjs7Pjt0PHA8cDxsPFRleHQ7PjtsPDExNjgsMDAgUExOOz4%2BOz47Oz47dDxwPHA8bDxWaXNpYmxlOz47bDxvPGY%2BOz4%2BOz47Oz47dDxwPHA8bDxDb21tYW5kTmFtZTtDb21tYW5kQXJndW1lbnQ7PjtsPGRvTG9naW47Njs%2BPjs%2BOzs%2BO3Q8cDxwPGw8VGV4dDs%2BO2w8TW9qZSBrb250byBncmFjemE7Pj47Pjs7Pjt0PHA8bDxWaXNpYmxlOz47bDxvPGY%2BOz4%2BOzs%2BO3Q8cDxwPGw8VmlzaWJsZTs%2BO2w8bzxmPjs%2BPjs%2BOzs%2BOz4%2BOz4%2BO3Q8cDxwPGw8VmlzaWJsZTs%2BO2w8bzxmPjs%2BPjs%2BOzs% 2BO3Q8dDxwPHA8bDxEYXRhVmFsdWVGaWVsZDtEYXRhVGV4dEZpZWxkOz47bDxMYW5ndWFnZUNvZGU7V
    H
  25. JhbnNsYXRlZFRleHQ7Pj47cDxsPG9uY2hhbmdlOz47bDxpZiAob25TdGFydFN1Ym1pdCgpID09IHRydW
  26. UpIDs% 2BPj47dDxpPDEyPjtAPERldXRzY2g7RW5nbGlzaDtJdGFsaWFubztFc3Bhw7FvbDvOlc67zrvOt869z
    r
  27. nOus6sO1BvbHNraTtTbG92ZW7FocSNaW5hO1TDvHJrw6dlO8SMZcWhdGluYTtNYWd5YXI7TmVkZXJsYW
  28. 5kczvQkdGK0LvQs9Cw0YDRgdC60Lg7PjtAPERFO0VOO0lUO0VTO0VMO1BMO1NMO1RSO0NTO0hVO05MO0
  29. JHOz4%2BO2w8aTw1Pjs%2BPjs7Pjs%2BPjs% 2BPjtsPEhlYWRlcjpidG5TcG9ydDtIZWFkZXI6YnRuQ2FzaW5vO0hlYWRlcjpidG5Qb2tlcjtidG5DY
    X
  30. Npbm87Pj60vsDbFHvtvWC6onD%2B7lR6%2FponmQ%3D%3D&Header%3AfldUserSetting=1280x1024x32&Header%3AtbKontoNr=$bet_at_home_login&Header%3AtbPin=$bet_at_home_pass&Header%3AbtnLogin=Zaloguj+si%C4%99&DropDownLangSelect=PL";
  31.  $reffer = 'http://www.bet-at-home.com/start.aspx?logout=true';
  32.  $ch = curl_init();
  33.  curl_setopt($ch, CURLOPT_URL,$LOGINURL);
  34.  curl_setopt($ch, CURLOPT_USERAGENT, $agent);
  35.  curl_setopt($ch, CURLOPT_POST, 1);
  36.  curl_setopt($ch, CURLOPT_POSTFIELDS,$POSTFIELDS);
  37.  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  38.  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  39.  
  40.  curl_setopt($ch, CURLOPT_REFERER, $reffer);
  41.  curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
  42.  curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
  43.  
  44.  $result = curl_exec ($ch);
  45.  curl_close ($ch);
  46.  
  47. $plik=fopen("dane.txt", "w+");
  48. fwrite($plik, $result);
  49. fclose($plik);
  50.  
  51. ?>
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.