Ich möchte gerne meine MySpace "Friendlist" per php einlesen.
Nun ist es aber leider so, dass Myspace diese Liste aufspaltet und auf mehreren Seiten (1,2,3) verteilt und untereinander mit Javascript verlinkt. Siehe : Myspace Friendlist
Die Seiten sind folgendermaßen verlinkt :
Und der dazugehörige Javascript code sieht so aus :
Nun habe ich eine Post - Request simuliert ... und alles arbeitet und ich bekomme auch ein "RETURN :HTTP/1.1 200 OK" vom Server zurück, jedoch läuft irgendetwas schief, denn nur ein Teil der Informationen wird geladen. Es fehlen z.B. die Bilder. Und zur auf die Seite 2 springen kann ich auch nicht.
Doch am besten wird sein ihr schaut euch mein Script unter diesem Link an.
Folgendes ist der PHP - Code den ich verwende (ohne den Zeilenumbruch bei $data).
Weiß jemand einen Rat ?
Nun ist es aber leider so, dass Myspace diese Liste aufspaltet und auf mehreren Seiten (1,2,3) verteilt und untereinander mit Javascript verlinkt. Siehe : Myspace Friendlist
Die Seiten sind folgendermaßen verlinkt :
Code:
<a href="javascript:__doPostBack('ctl00$cpMain$pagerTop','2')"> Seite 2</a>
Code:
<form name="aspnetForm" method="post" action="FriendsView.aspx?%3ffuseaction=user.viewfriends&friendID=114446263" onkeypress="javascript:return WebForm_FireDefaultButton(event, 'ctl00_cpMain_btnSearch')" id="aspnetForm"> <div> <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /> <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" /> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="EndlosLangerString" /> </div> <script type="text/javascript"> <!-- var theForm = document.forms['aspnetForm']; if (!theForm) { theForm = document.aspnetForm; } function __doPostBack(eventTarget, eventArgument) { if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit(); } } // --> </script> ... Noch Weitere Zeilen Code ... </form>
Nun habe ich eine Post - Request simuliert ... und alles arbeitet und ich bekomme auch ein "RETURN :HTTP/1.1 200 OK" vom Server zurück, jedoch läuft irgendetwas schief, denn nur ein Teil der Informationen wird geladen. Es fehlen z.B. die Bilder. Und zur auf die Seite 2 springen kann ich auch nicht.
Doch am besten wird sein ihr schaut euch mein Script unter diesem Link an.
Folgendes ist der PHP - Code den ich verwende (ohne den Zeilenumbruch bei $data).
PHP-Code:
<?php
function PostToHost($host, $path, $referer, $data_to_send) {
$fp = fsockopen($host, 80);
printf("Open!\n");
fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data_to_send) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data_to_send);
printf("Sent!\n");
while(!feof($fp)) {
$res .= fgets($fp, 128);
}
printf("Done!\n");
fclose($fp);
return $res;
}
$data = "%3ffuseaction=user.viewfriends&friendID=114446263
&__EVENTTARGET=ctl00$cpMain$pagerTop
&__EVENTARGUMENT=2&__VIEWSTATE=EndlosLangerString";
printf("Go!\n");
$x = PostToHost(
"friends.myspace.com",
"/Modules/ViewFriends/FriendsView.aspx?%3ffuseaction=user.viewfriends&friendID=114446263",
"http://friends.myspace.com/Modules/ViewFriends/FriendsView.aspx?%3ffuseaction=user.viewfriends&friendID=114446263",
$data
);
echo "Rueckgabewert :",$x;
?>
Kommentar