Hallo
wow, der Code funktioniert! Danke!
Aber irgendwie listet er alle Leute auf, die bereits gepostet
haben, und macht dabei den ersten fett. So wie ich den Code
verstehe, sollte er aber die letzten Poster auflisten und
dabei hochzählen, oder?
Wie würde man den Code umschreiben, damit nur der letzte
Poster angezeigt wird?
Und dann habe ich noch eine Frage: Wo im Code wird angegeben,
welcher Thread durchsucht werden soll? Das finde ich nicht,
und das verwirrt mich… :-S
Johhannes hat ja die Fragen bereits alle
beantwortet. Ich hab den Quelltext mal
entsprechend verändert und ein wenig
„gestrafft“. Interessanterwise werden
die Cookies im Brauser zwar mit Ver-
fallsdatum belegt - dies wird aber nirgends
in der Boardsoftware kontrolliert.
<?php $host = 'board.kampf-um-mittelerde.de';
$path = '/thread.php?threadid=44589&goto=lastpost';
$cookies = 'Cookie: wbb2\_userpassword=126b53ffb6f67fbca14dd0512fabdb59; '
. '\_\_utmz=103605395.1214995802.3.3.utmccn=(referral)|utmcsr='
. '[www.google.de|utmcct=/|utmcmd=referral](http://www.google.de%7Cutmcct=/%7Cutmcmd=referral); \_\_utma=103605395.'
. '976376924.1214940326.1214981021.1214995802.3; wbb2\_userid='
. '29020; wbb2\_cookiehash=dff76e25f37a7efebe5216479042b96b; '
. '\_\_utmb=103605395; \_\_utmc=103605395' . "\n\n";
$request = "Host: $host\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1;"
. "de; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14\nAccept: text/xml,"
. "application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;"
. "q=0.8,image/png,\*/\*;q=0.5\nAccept-Language: en,en-us;q=0.8,de;q=0.5,"
. "de-de;q=0.3\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,\*;q=0.7\n"
. "Keep-Alive: 300\nConnection: keep-alive\n";
# get 301 redirect
$answer = http\_raw($host, "GET $path HTTP/1.1\n" . $request . $cookies);
preg\_match('/Location:\s\*([^\s]+)/', $answer, $match);
# get page
$redirect = $match[1];
$html = http\_raw($host, "GET /$redirect HTTP/1.1\n" . $request . $cookies);
preg\_match\_all('|([^|', $html, $match);
# generate meaningful output: (the last member will be printed first)
echo end($match[1]).'
';
# done
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
function http\_raw($host, $request)
{
$html = '';
if( ($fs = fsockopen($host, 80, $errno, $errstr, 16)) ) {
fwrite($fs, $request);
while(!feof($fs)) $html .= fgets($fs, 128);
fclose($fs);
}
return $html;
}
?\>
(Ganz oben gibst Du ein, was Du sehen willst.)
Grüße
CMБ