system
(system)
16 Styczeń 2006 23:41
#1
Mam pytanko: jak wyciągnąć przez stronkę więcej informacji (to co w katalogu publicznym) o danym numerze, niż tylko to jaki status ma dany numer ( ![color]&styl=5](http://www.gadu-gadu.pl/users/status.asp?id=[color=brown]numer[/color]&styl=5 )
misterdam
(Misterdam)
17 Styczeń 2006 06:59
#2
Możesz użyć Whois, tylko po co ci to.
W ten sposób sprawdzisz przez jaki serwer dana osoba łączy się z netem.
adpawl
(adpawl)
17 Styczeń 2006 08:37
#3
Po numerze będzie ciężko coś wyciągnąć… :?
Z katalogu publicznego ( http://www.gadu-gadu.pl/katalog_publiczny.html )
można np. skryptem php wyciągnąć dane po: imieniu, nazwisku, pseudo, płci, wieku i miejscowości
Co do numeru …też by się dało, ale to bardziej skomplikowane
…bo wymaga wysłania pakietu TCP (PSH, ACK) na na adres m4.gadugadu.pl, port 8074 o przykładowej treści:
...2......m...E..F.J.........J..)].....{Mj....P...Ty..............CFmNumber.XXXXXXX.
…gdzie w odpowiedzi powinien przyjść pakiet zawierający: numer, imię, nick, datę urodzenia, miasto
…No chyba, że coś pomieszałem :roll:
misterdam
(Misterdam)
17 Styczeń 2006 09:09
#4
Te dane można wyciągnąć wpisując w pole szukaj numer danej osoby w gg. :o
adpawl
(adpawl)
17 Styczeń 2006 09:33
#5
Taaa… a gdzie masz to pole? :o
…bo chyba nie mówisz o tym w komunikatorze?
Dla przypomnienia:
BTW
Nie ma chyba możliwości wyciągnięcia tych danych w podobny sposób
[/code]
Jedynym więc sposobem uzyskania tych informacji przez stronę www …jest napisanie odpowiedniego skryptu php.
Monczkin
(Monczkin)
17 Styczeń 2006 10:08
#7
misterdam:
Dokładnie o tym mówię
To może zamiast przepychanek słownych, powiedz jak i gdzie ??
misterdam
(Misterdam)
17 Styczeń 2006 10:23
#8
Monczkin:
powiedz jak i gdzie
Ktoś tu kogoś nie rozumie, albo ja was, albo wy mnie
Napiszę najprościej jak potrafię:
Otóż klikając na dany numer gg w internecie powinno nam wyskoczyć okienko programu z numerem (najeżdżając myszką nad słoneczko też powinien pojawić się dymek z numerem tej osoby.
Wchodzimi w opcje szukaj kontaktów w gadu gadu i wpisujemy numer danej osoby, jeżeli podała ona swoje dane do katogu publicznego to się powinny wyświetlić.
Airborn
(Airborn)
17 Styczeń 2006 10:28
#9
wydaje mi sie ze to jednak Ty niezrozumiales
chodzilo o automatyzacje takiego dzialania
system
(system)
17 Styczeń 2006 14:02
#10
misterdam chyba jednak nie zrozumiałeś o co mi chodzi :D.
Napisaliście powyżej że można spróbować przez skrypty PHP, ale czy wiecie dokładniej jak to zrobić ?? (chodzi mi o kod PHP lub chociaż metodę).
adpawl
(adpawl)
17 Styczeń 2006 14:18
#11
Jeżeli chodzi o obsługę formularzy, to:
Jak przesłać “ręcznie” metodą POST dane do skryptu przetwarzającego formularze? PROBLEM Chcesz przesłać dane metodą POST do skryptu, bez korzystania z formularza. ROZWIĄZANIE O ile wysyłanie danych metodą GET jest stosunkowo proste, bo zmienne wystarczy dołączyć do adresu strony, to metoda POST działa zupełnie inaczej. Metoda POST nie ma też ograniczeń w ilości przesłanych danych, co jest jej niewąpliwą zaletą i dlatego często służy ona do przesyłania danych z rozbudowanych formularzy do skryptów. Aby przesłać do skryptu dane metodą POST nie trzeba jednak tworzyć formularza. Wystarczy odpowiednio spreparować nagłówki i przesłać zakodowane pary: zmienna=wartość. Opiszę dwie metody - zwykłą i z wykorzystaniem biblioteki CURL. Zobacz jak to zrobić: <? $serwer = “www.jakisserwer.com ”; $skrypt = “http://www.jakisserwer.com/katalog/skrypt.php ”; $dane[] = “zmienna1=wartosc1”; $dane[] = “zmienna2=wartosc2”; $dane[] = “zmienna3=wartosc3”; for ($i=0;$i $p = explode("=",$dane[$i]); $sciezka .= urlencode($p[0])."=".urlencode($p[1])."&"; } $naglowek = “POST $skrypt HTTP/1.0\r\n”; $naglowek .= “Content-type: application/x-www-form-urlencoded\r\n”; $naglowek .= “Content-length: “.strlen($sciezka).”\r\n\r\n”; $f = fsockopen($serwer,80); if ($f) { fputs($f, “$naglowek$sciezka”); while (!feof($f)) echo fgets($f,1024); fclose($f); } ?> Na początku trzeba zdefiniować nazwę serwera, na którym znajduje się skrypt i pełną ścieżkę do skryptu (URL). Następnie w tablicy $dane[] można umieścić wszystkie dane, które mają zostać przesłane do skryptu. Ważne jest aby umieścić znak równości pomiędzy zmienną i jej wartością. Pętla for pobiera pary zmienna=wartość i przekształca je w zakodowany łańcuch znaków (kodowane są tylko znaki specjalne), gdzie każda para oddzielona jest symbolem &. Całość wygląda podobnie jak w metodzie GET, z tym, że tutaj nie ma ograniczenia co do długości zmiennych. Pozostało nam jeszcze przygotować nagłówek, również standardowy dla metody POST. Trzeba więc ustalić kodowanie (typ danych) jako x-www-form-urlencoded i określić długość przesyłanych danych, czyli Content-length. Na koniec wystarczy przesłać dane do skryptu łącząc się z nim na porcie 80, czyli dokładnie tak samo jak przeglądarka. Niektóre serwery mogą korzystać z innych portów, więc wtedy trzeba numer 80 zmienić na właściwy port. Jeżeli połączenie zostanie nawiązane skrypt przesyła dane. W pętli while() odczytywana jest zawartość strony i w skrypcie ma znaczenie informacyjne - ma sprawdzić jak przebiegła transmisja danych. W praktyce możesz usunąć ten zapis, jeżeli masz pewność, że skrypt działa poprawnie. Podobne rozwiązanie z użyciem biblioteki CURL: <? $url = “http://serwer.pl/skrypt_odbierajacy_dane.php ”; $pola = “imie=Janek&nazwisko=Kos”; $f = curl_init(); curl_setopt($f, CURLOPT_URL, $url); // adres skryptu odbierającego dane curl_setopt($f, CURLOPT_POSTFIELDS, $pola); // pola formularza curl_setopt($f, CURLOPT_POST, 1); // będę wysyłał metodą POST curl_setopt($f, CURLOPT_HEADER, 0); // nie chcę nagłówków w odpowiedzi curl_setopt($f, CURLOPT_FOLLOWLOCATION, 1); // przekierowania aktywne curl_setopt($f, CURLOPT_RETURNTRANSFER, 1); // chcę otrzymać stronę wynikową $dane = curl_exec($f); curl_close($f); echo $dane; ?>
A jeżeli na siłę chcesz to sprawdzanie po numerze, to musisz pokombinować z fsockopen
…albo raczej z socket_create
(sprawdź też sobie snifferem jak przebiega komunikacja gg z serwerem podczas korzystania z wbudowanej w gada wyszukiwarki …tzn. co, gdzie i jak jest wysyłane)
system
(system)
17 Styczeń 2006 14:42
#12
kurdeeee… trochę ciężko to zrozumieć co napisałeś adpawl :shock:.
Mam pytanie… czy macie może jakieś gotowe już skrypty, które wyświetlą podstawowe informacje o danym numerze - najlepiej napisane w PHP lub w ASP - a nawet lepiej jak w ASP, bo ten język mam bardziej opanowany niż PHP, gdyż w PHP programuję dopiero od ok. 2 miesięcy i znam tylko niektóre podstawowe funkcje.