Pobieranie opisu z GaduGadu, Funkcja, PHP 4 i 5 |
Pobieranie opisu z GaduGadu, Funkcja, PHP 4 i 5 |
3.01.2008, 14:15:49
Post
#41
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 23.10.2007 Ostrzeżenie: (0%) |
jesli ni pokazuje ci opisu sprobuj recznie wklepac numer serwera z ktorym ma sie laczyc. Umnie to zadzialalo mam jedynie klopot z kodowaniem polskich znaków
|
|
|
17.01.2008, 00:18:28
Post
#42
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 10 Dołączył: 17.01.2008 Ostrzeżenie: (0%) |
U mnie pomogło:
Nigdy nie byłem dobry z wyrażeń ale preg z linii 80 wygląda tak:
a powinien wyglądać tak: Kod preg_match("/\s([\d.]{8,16}):([\d]{1,5})\s/", $buf, $adres); ten highlighter forum przy PHP się coś kiełbasi i backslashe usuwa |
|
|
11.03.2008, 18:51:20
Post
#43
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 5.10.2007 Ostrzeżenie: (0%) |
mam problem z wyświetlaniem polskich znaków, każdy jest wyświetlany jako znak zapytania w rombie (albo coś w tym stylu). może rozwiązał ktoś już ten problem?
|
|
|
24.05.2008, 21:26:41
Post
#44
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 3 Dołączył: 3.04.2007 Ostrzeżenie: (50%) |
a jak zrobic zeby pobrac pare opisow
bo jak tak zrobie pare razy z roznymi nr gg do sprawdenia to skrypt mysli albo nie pokazuje :/ echo ''.get_gg_status("***", "**", "**", $error).'<br>'; echo ''.get_gg_status("***", "**", "**", $error).'<br>'; echo ''.get_gg_status("***", "**", "**", $error).'<br>'; |
|
|
6.06.2008, 12:00:21
Post
#45
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 2.06.2008 Ostrzeżenie: (0%) |
Witam,
troszkę zmodyfikowałem źródło na takie które działa, o to co wyszło: Kod <?php function oblicz_hash ($haslo, $klucz) { $x0=0; $x1=0; $y0=0; $y1=0; $z=0; $tmp=0; $y0 = ($klucz << 16) >> 16; $y1 = $klucz >> 16; for ($i=0; $i<strlen($haslo); $i++) { $x0 = ($x0 & 0xFF00) | ord($haslo[$i]); $x1 &= 0xFFFF; $y0 ^= $x0; $y1 ^= $x1; $y0 += $x0; $y1 += $x1; $x1 <<= 8; $x1 |= ($x0 >> 8); $x0 <<= 8; $y0 ^= $x0; $y1 ^= $x1; $x1 <<= 8; $x1 |= ($x0 >> 8); $x0 <<= 8; $y0 -= $x0; $y1 -= $x1; $x1 <<= 8; $x1 |= ($x0 >> 8); $x0 <<= 8; $y0 ^= $x0; $y1 ^= $x1; $z = $y0 & 0x1F; $y0 &= 0xFFFF; $y1 &= 0xFFFF; if ($z <= 16) { $tmp= ($y1 << $z) | ($y0 >> (16-$z)); $y0 = ($y1 >> (16-$z)) | ($y0 << $z); $y1 = $tmp; }else{ $tmp= $y0 << ($z-16); $y0 = ($y0 >> (32-$z)) | ( (($y1 << $z) >> $z) << ($z-16) ); $y1 = ($y1 >> (32-$z)) | $tmp; } $y0 &= 0xFFFF; $y1 &= 0xFFFF; } $hash = hexdec(sprintf("%04x%04x", $y1, $y0)); settype($hash, 'integer'); return $hash; } function get_gg_status($numer_gg, $haslo_gg, $szukany_numer, &$error) { define("GG_LOGIN60", 0x0015); define("GG_STATUS_AVAIL", 0x0002); define("GG_LOGIN_OK", 0x0003); define("GG_NOTIFY", 0x0010); define("GG_USER_NORMAL", 0x0003); $fp = fsockopen("91.197.13.24", 8074, $errno, $errstr, 10); if (!$fp) { $error = "PROBLEM Z POLACZENIEM: $errno - $errstr\n\n"; return false; } if (!$data = fread($fp, 12)) { $error = "Polaczenie nieoczekiwanie zamkniete\n\n"; return false; } $tab = unpack("Vtyp/Vrozmiar/Vklucz", $data); $hash = oblicz_hash($haslo_gg, $tab['klucz']); $data = pack("VVVVVVvVvVvCCa".strlen(""), GG_LOGIN60, 0x20 + strlen(""), $numer_gg, $hash, GG_STATUS_AVAIL, 0x20, 0, 0, 0, 0, 0, 0x14, 0xbe , ""); fwrite($fp, $data); if (!$data1 = fread($fp, 8)) { $error = "Nie rozpoznany blad\n"; return false; } $tab = unpack("Vlogin_status/Vrozmiar", $data1); if($tab['login_status'] != GG_LOGIN_OK) { $error = "Nie prawidłowe hasło...\n\n"; return false; } $data = pack ("VVVC",GG_NOTIFY, 5, $szukany_numer, GG_USER_NORMAL); if(!fwrite($fp,$data)) { $error = "Blad wysylania listy kontaktow\n\n"; return false; } $data = fread($fp, 8); $tab = unpack("Vtyp/Vrozmiar", $data); $data = fread($fp, $tab['rozmiar']); fclose($fp); $tablica = @unpack("Iuin/Cstatus/Iremoteip/Sremoteport/Cversion/Cimagesize/Cunknown/Cdescription_size/a*", $data); return $tablica[1]; } function getOpis($numerBramki, $hasloBramki, $numerSpr){ $dostepny = '<img src="http://www.gadu-gadu.pl/users/status.asp?id='.$numerSpr.'&styl=3">'; if (get_gg_status($numerBramki, $hasloBramki, $numerSpr, $error) == '') { $getOpis = ''; } else { $getOpis = 'Z opisem: '.get_gg_status($numerBramki, $hasloBramki, $numerSpr, $error); } $opis = 'W tej chwili jestem: '.$dostepny.' <br /> '.$getOpis.'<br />'; return $opis; } ?> Sposób użycia: Kod echo getOpis('numer_bramki', 'haslo_bramki', 'nr_gg_do_sprawdzenia'); Źródło dostępne również pod adresem: http://chez.ovh.org/opis.phps |
|
|
15.04.2009, 21:35:08
Post
#46
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 21 Dołączył: 28.06.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) |
Dobry, akurat czegoś takiego potrzebuje, ale wywala mi:
Cytat Warning: fsockopen() [function.fsockopen]: unable to connect to 91.197.13.24:8074 (Connection timed out) in /home/a3880550/public_html/index.php on line 42 jak już wyczytałem, pewnie nie działa bo pozmieniali coś w gg... ale pytam - działa czy ja coś źle robie? A jak nie działa, istnieje coś co działa? Z góry, dzięki:)) -------------------- "Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...] Grins: mów normalnie do mnie a nie po polsku Ja: normalnie to znaczy jak? Grins: No w PHP... inaczej mój parser ledwo kuma:) |
|
|
8.03.2020, 11:29:49
Post
#47
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 8.03.2020 Ostrzeżenie: (0%) |
Witam Panowie,
Wybaczcie proszę offtopic, ale potrzebuję aktualnej (działającej) wersji tego skryptu. Prosiłbym o podesłanie Pozdrawiam. |
|
|
9.03.2020, 17:38:16
Post
#48
|
|
Administrator serwera Grupa: Przyjaciele php.pl Postów: 909 Pomógł: 0 Dołączył: 12.08.2003 Skąd: /var/www/wroclaw.php Ostrzeżenie: (0%) |
Jak mogłeś zauważyć ostatnia wiadomość w temacie miała miejsce 11 lat temu i dotyczyła problemów z funkcjonowaniem przedstawionego rozwiązania.
Obawiam się, że przez te 16 lat od kiedy pierwotny kod powstał, mogło mieć miejsce wiele zmian w funkcjonowaniu GG i jego protokołu - zwłaszcza, że po drodze zmienił się nie tylko komunikator ale i jego właściciel Z tego co na szybko poszukałem, to biblioteka libgadu jest aktualizowana, więc w niej możesz szukać pomocy https://github.com/wojtekka/libgadu -------------------- Powrót do przeszłości :)
|
|
|
Wersja Lo-Fi | Aktualny czas: 27.09.2024 - 08:40 |