WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Icq status auslesen ? » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von adik
ich hatte gerade erst kürzlich selber mal danach recherchiert und das gefunden:

http://www.icq.com/js/pcc.php?Uin=18006683

man erhält die daten als javascript variablen, aber das kann man ja konvertieren.

z.b. so:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62:
<?
$file = fopen("http://www.icq.com/js/pcc.php?Uin=18006683","r"); 
while ($line = fgets($file, 1024)) { 
    $cont[] = $line;
} 
fclose($file);
for($i=0;$i<count($cont);$i++){
	$t = "";
	$t = explode("=",$cont[$i]);
	if(count($t) > 2){
		$str = "";
		for($j=2;$j<count($t);$j++){
			$str .= $t[$j]."=";
		}
		$icqarr[(str_replace(" ","",$t[0]))] = 	str_replace(
													"\n",
													"",
													str_replace(
														"\r\n",
														"",
														str_replace(
															"/whitepages",
															"http://www.icq.com/whitepages",
															html_entity_decode(
																str_replace(
																	"src=\"/img","src=\"http://www.icq.com/img",
																	str_replace(
																		"&#38;",
																		"&",
																		str_replace(
																			"&#47;",
																			"/",
																			str_replace(
																				"\";",
																				"",
																				str_replace(
																					"\";   ",
																					"\";",
																					substr(
																						substr(
																							$str,
																							0,
																							-1
																						),
																						2
																					)
																				)
																			)
																		)
																	)
																)
															)
														)
													)
												);
	}
}

print_r($icqarr);
?>
von Andreas248
Hallo,

hätte da mal 2 Fragen zu dem letzten Code:
1. kann ich damit statt on und off auch abwesend mit abrufen?
und
2. hat jemand eine Idee, wieso der Status erkannt wird, wenn ich über ICQ rein gehe, nicht aber, wenn ich die gleiche ICQnr über Trillian nutze?

Danke im Voraus für die Antwort(en)!

Nachtrag:
Also hiermit funktioniert der 3. Status bei mir leider nicht:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22:
<?php
$icq = "XXXXXXXXX";

$fp = fsockopen ("status.icq.com", 80, &$errno, &$errstr, 30) or die("[ERROR - Could not connect to server (status.icq.com)]");  
fputs($fp, "GET /online.gif?icq=$icq&img=5&online= HTTP/1.0\n\n");

while(!feof($fp) && !$icq_finished) {
    $line = fgets ($fp,128);
    if (substr($line,0,9) == 'Location:') {
        if (substr($line,13,11) == 'online1.gif') { $online = "1"; $icq_finished = true;} 
        elseif (substr($line,13,11) == 'online0.gif') { $online = "0"; $icq_finished = true;}
        elseif (substr($line,13,11) == 'online2.gif') { $online = "2"; $icq_finished = true;}
     }
    }
         fclose($fp);
         
if($online == "1") { echo("Online"); } 
elseif($online=="0") { echo("Offffffline"); } 
elseif($online=="2") { echo("anders"); }
else { echo("da stimmt was nicht"); }

?>
von MCM
So, will nun mal dieses alte Thema noch mal hervorziehen, da ich soein script jetzt auch brauchte, hb ich mal in nem anderem Forum nachgefragt und dort konnte man mir weiterhelfen. Also, folgender Code, dann klappt es

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31:
<?php
$icq = "331715700";

$fp = fsockopen ("status.icq.com", 80, &$errno, &$errstr, 30) or die("[ERROR - Could not connect to server (status.icq.com)]");  
fputs($fp, "GET /online.gif?icq=$icq&img=5&online= HTTP/1.0\n\n");

while(!feof($fp) && !$icq_finished) {
    $line = fgets ($fp,128);
    if (substr($line,0,9) == 'Location:') {
        if (substr($line,13,11) == 'online1.gif') { // online
            $online = "1";
            $icq_finished = true;

        } else { 

            $online = "0";
            $icq_finished = true;
	}
     }
    }
         fclose($fp);
         
if($online == "1") { 
    echo("Online"); 
} elseif($online=="0") { 
    echo("Offffffline"); 
} else { 
    echo("da stimmt was nicht"); 
}

?>


Musst halt nur die Textausgabe durch Bilde ersetzten. Kompletten Code gibts bei http://www.qatlantis.com/IMIndicator.php zum runterladen, allerdings noch mit allen möglichen Anhang, der eigentlich unnötig ist ;)
von Xeal
@ MCM:
Ich will aber nunmal nicht die standart bilder...
Auch wenn sie neutral sind
von MCM
Außerdem gibts unegefähr 25 verschiedene fertige Bilder von denen, wozu dann was eigenes. Einiges von denen ist sogar noch recht neutral


---
cya MCM

[Je mehr Bürger mit Zivilcourage ein Land hat, desto weniger Helden wird es einmal brauchen]
[by Franca Magnani]

Nach oben