Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V  < 1 2 3  
Reply to this topicStart new topic
> Pobieranie opisu z GaduGadu, Funkcja, PHP 4 i 5
mekeke2
post 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
Go to the top of the page
+Quote Post
Trojan
post 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:

Cytat(suda @ 27.03.2007, 11:25:56 ) *
Nigdy nie byłem dobry z wyrażeń ale preg z linii 80 wygląda tak:
  1. <?php
  2. preg_match(&#092;"/s([d.]{8,16}):([d]{1,5})s/\", $buf, $adres);
  3. ?>

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
Go to the top of the page
+Quote Post
anty
post 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? smile.gif
Go to the top of the page
+Quote Post
icetab
post 24.05.2008, 21:26:41
Post #44





Grupa: Zarejestrowani
Postów: 226
Pomógł: 3
Dołączył: 3.04.2007

Ostrzeżenie: (50%)
XXX--


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>';
Go to the top of the page
+Quote Post
chez
post 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
Go to the top of the page
+Quote Post
dadexix
post 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:)
Go to the top of the page
+Quote Post
sebxx4
post 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 smile.gif

Pozdrawiam.
Go to the top of the page
+Quote Post
Bakus
post 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 wink.gif

Z tego co na szybko poszukałem, to biblioteka libgadu jest aktualizowana, więc w niej możesz szukać pomocy smile.gif
https://github.com/wojtekka/libgadu


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post

3 Stron V  < 1 2 3
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: 28.03.2024 - 12:20