Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Webseite von anderem Server auslesen.. [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Webseite von anderem Server auslesen..


 
bysnake
21-07-2006, 17:45 
 
Hallo zusammen,
ich möchte ein kleines Script schreiben, was mir eine Menge Arbeit beim Katalogisieren von Büchern abnehmen soll.

Ich habe mir folgendes gedacht:
Man tippe die ISBN ein und bekommt den Rest der Daten geliefert..

Als Informationsquelle soll bookbutler.com dienen, da hier die Daten recht leicht auslesbar sind..

Mein Problem ist nun aber, dass ich gar nicht erst an die Daten komme, da mich bookbutler irgendwie als server zu erkennen scheint und mich dann blockt...

Ansätze, die ich bisher versucht habe:

$fp =file_get_contents("http://de.bookbutler.com/do/bookSearch?searchFor=".$_POST[isbn_v]."&searchBy=isbn&searchIn=de&shipTo=de&amountIn=eur");

echo $fp;
$socket = fsockopen ("de.bookbutler.com", 80);

fputs($socket, "GET /do/bookSearch?searchFor=".$_POST[isbn_v]."&searchBy=isbn&searchIn=de&shipTo=de&amountIn=eur HTTP/1.1\r\n");
fputs($socket, "Host: de.bookbutler.com\r\n");
fputs($socket,"Content-type: application/x-www-form-urlencoded\r\n");
fputs($socket, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\r\n");
fputs($socket, "Connection: closern\r\n");
while (!feof($socket))
{
$buf .= fgets($socket,1024);
}
fclose($socket);
$file = fopen ("http://de.bookbutler.com/do/bookSearch?searchFor=".$_POST[isbn_v]."&searchBy=isbn&searchIn=de&shipTo=de&amountIn=eur", "r");
while ($line = fread ($file, 500))
$edit_content.= htmlspecialchars ($line);
fclose ($file);

echo $edit_content;

readfile(..);

Egal was ich nutze, ich werde immer "enttarnt", die Tatsache, dass ich das Script auf meinem normalen 0815 Rechner laufen lasse (Xampp) hat anscheinend keinen Einfluss auf den Vorgang (habe es auch bei meinem Hoster versucht)...

Hoffe ihr habt eine Idee, wie ich das Problem lösen kann.

Gruß
bysnake

PS: Der Dienst soll nur auf meinem rechner laufen, und nicht im I-Net erreichbar sein (also am Rechner / Einstellungen könnte man was ändern..)

 
goth
21-07-2006, 17:49 
 
Böse böse böse ... sieh zu, dass das für Dich nicht teuer wird.

 
heiss
21-07-2006, 17:55 
 
Original geschrieben von bysnake
fputs($socket,"Content-type: application/x-www-form-urlencoded\r\n");
Mir gefällt diese Zeile nicht, es werden ja gar keine Post-Daten mitgesandt (fputs ed). Warum sonst sollte es im request ein Content-type: haben ?
gibt es da nicht irgendeinen Datentransfer-Sniffer, ich weiss bloss nicht wie er heisst.

 
bysnake
21-07-2006, 18:03 
 
Original geschrieben von goth
Böse böse böse ... sieh zu, dass das für Dich nicht teuer wird.
In wiefern mache ich mich denn Strafbar, wenn ich die Daten lediglich auf meinem EIGENEN Rechner in eine Datenbank speichere, die öffentlich nicht einzusehen ist?

@heiss:
Hast recht, wenn ich darüber nachdenke ist das ziemlich mist, den ich da fabriziert habe...


Hoffe ihr habt sonst noch Ansätze..

PS: Es würde mich nebenbei auch interessieren, inwiefern die Anfrage des Servers anders aussieht als die eines Browsers?


Besten Dank trotzallem schonmal


EDIT: Sollte jemand einen Server kennen, bei dem dieses Problem nicht Auftritt und der den Zugiff auf seine Daten erlaubt, dann würde sich mein Problem natürlich erübrigen..
Gruß
bysnake

 
heiss
21-07-2006, 19:34 
 
Original geschrieben von bysnake
Hoffe ihr habt sonst noch Ansätze..

Es würde mich nebenbei auch interessieren, inwiefern die Anfrage des Servers anders aussieht als die eines Browsers?


"Die Formularseite anfordern, ausfüllen+absenden, die Antwort bekommen...."

anstatt nur "+absenden, die Antwort bekommen..."

wenn die halbwegs drauskommen, haben sie sich per session und-oder hidden fields gemerkt, wer das Formular verlangt hat.

Vielleicht hilft Dir auch libCurl weiter. sowie ein traffic-analyzer, wobei das hier schon genannt wurde ich aber jetzt gerade nicht weiss. Etwas herumsuchen in diesem Forum, wie man headers einer Webseite bekommen kann, als Startpunkt.

Die Fragestellung ist interessant, und eigentlich kann der server es am Schluss nicht merken

 
heiss
21-07-2006, 19:40 
 
Original geschrieben von bysnake
In wiefern mache ich mich denn Strafbar, wenn ich die Daten lediglich auf meinem EIGENEN Rechner in eine Datenbank speichere, die öffentlich nicht einzusehen ist?
Urheberrecht und Nutzungsbestimmungen die irgendwo zuunterst auf der webseite erwähnt sind. Weil es Buchhandel ist, sind die ISBN-Daten auch nicht seine eigenen und er ist verpflichtet solche unlizenzierten Nutzungen zu unterbinden. Das muss ich nicht konkret nachschauen, das ist so klar wie "Hello World".php

 
3DMax
21-07-2006, 20:05 
 
Original geschrieben von heiss wenn die halbwegs drauskommen, haben sie sich per session und-oder hidden fields gemerkt, wer das Formular verlangt hat.
ok, dürfen wir jetzt alle mutmaßen?
vielleicht haben die auch gemerkt, dass von der ip x in der zeitspanne y equests der menge z erfolgten.

 
heiss
21-07-2006, 20:19 
 
Wenn man es weiss, ist es einfach. In der Zwischenzeit helfen Hypothesen aus und weiter.

 
3DMax
21-07-2006, 20:31 
 
das war allerdings auch nur eine hypothese ;)

 
heiss
21-07-2006, 21:50 
 
Nein, das ist Tatsache. Man kann 5, 10, 20 Hypothesen probieren, bis man die Lösung entweder hat oder sieht.

 
Koala
21-07-2006, 21:58 
 
http://amazoop.sourceforge.net/

 
heiss
21-07-2006, 22:09 
 
Original geschrieben von Koala
http://amazoop.sourceforge.net/ Ist das eine Falle?

 
heiss
21-07-2006, 22:28 
 
Original geschrieben von 3DMax
ok, dürfen wir jetzt alle mutmaßen?
vielleicht haben die auch gemerkt, dass von der ip x in der zeitspanne y equests der menge z erfolgten. Da hast du schlecht aufgepasst, es hat beim Frager nie funktioniert. Deine Menge z müsste also 1 oder
weniger sein. Nun wissen wir aber, dass schon überabzählbar viele Zahlen z <= 1
gefunden wurden, dazu noch das Cantor'sche Auswahlkriterium und der Wohlordnungssatz von Zermelo....

 
Koala
21-07-2006, 22:38 
 
Original geschrieben von heiss
Ist das eine Falle?

wieso ne Falle?

Da kann man ganz legal Daten von Amazon auslesen.

Hier die Beispielabfrage der ISBN:

http://amazoop.sourceforge.net/docs/amazOOP/tutorial_manual.isbn.pkg.html

 
bysnake
21-07-2006, 23:48 
 
Original geschrieben von heiss
Urheberrecht und Nutzungsbestimmungen die irgendwo zuunterst auf der webseite erwähnt sind. Weil es Buchhandel ist, sind die ISBN-Daten auch nicht seine eigenen und er ist verpflichtet solche unlizenzierten Nutzungen zu unterbinden. Das muss ich nicht konkret nachschauen, das ist so klar wie "Hello World".php
Halte ich für wenig stich und hiebfest...

@Koala... DANKE, damit haben sich alle rechtlichen sowie Programiertechnichen Fragen im Nu gelöst ;)

 
3DMax
21-07-2006, 23:52 
 
Da hast du schlecht aufgepasst, es hat beim Frager nie funktioniert.
da gebe ich dir recht, aber so manche fragestellung hier im forum ist keineswegs eindeutig.
Deine Menge z müsste also 1 oder
weniger sein.
um genau zu sein, 1 oder (1 oder 0), je nach definition von N. weil z ist zwingend ein element der natürlichen zahlen, oder kann der "frager" es auch 0,859 mal probiert haben?

Nun wissen wir aber, dass schon überabzählbar viele Zahlen z <= 1
gefunden wurden,
erstens ist die menge N abzählbar unendlich. zweitens betrachten wir hier eine teilmenge {0,1} bzw. {1} und die kann jedes kleinkind aufzählen.

dazu noch das Cantor'sche Auswahlkriterium und der Wohlordnungssatz von Zermelo....
sagt mir nichts, und ich habe momentan auch keine lust es zu googlen.

aber wenn du schon so ein genie bist, warum antwortest du dem "frager" nicht?
ich hab's nicht so auf die schnelle rausbekommen.
hiddenfields scheiden aus, da GET. cookies und ip auch...

 
Koala
22-07-2006, 00:23 
 
Original geschrieben von bysnake
Halte ich für wenig stich und hiebfest...

@Koala... DANKE, damit haben sich alle rechtlichen sowie Programiertechnichen Fragen im Nu gelöst ;)

ja - klar, legal ist die Sache und Du wirst die programmiertechnische
Umsetzung wohl hinkriegen - Beispiel ist ja angegeben.

Was willste mehr?


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:07 Uhr.