php Designer 8 Fehlermeldung

Maximus29

Grünschnabel
Hallo liebe Gemeinde,

ich habe eine große Bitte.
Ich schaffe es einfach nicht folgendes Script zum Laufen zu bringen. Ich hoffe mir kann jemand helfen.
Mit diesem Programm möchte ich ASINs von Amazon (%) automatisch in meine Wunschliste bei Amazon importieren.
Die Anleitung, die ich aus dem Netz habe, habe ich weiter unten gepostet. Aus dieser Anleitung ist auch das Programm. Leider habe ich keine Ahnung vom Programmieren.
Hoffe es kann mir jemand helfen und das Programm so abändern dass es aktuell läuft und mir erklären, wie ich es mit php Designer 8 schaffe, zum Laufen zu bringen.
Wenn ich das Programm in php Designer 8 ausführen möchte, erhalte ich eine Fehlermeldung, die ich als Screenshot beigefügt habe
Vielen dank dafür

PHP:
<?php
# add_wishlist_items.php
# Adds multiple items to an Amazon Wish List
# Usage: A PHP page called via web browser

$aff_tag = "insert associate tag ";

error_reporting(E_ERROR | E_WARNING); 

if ($HTTP_POST_VARS) {
   include "Snoopy.class.inc";
   $snoopy = new Snoopy;

   $snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
   $submit_url = "https ://www.amazon.com/exec/obidos/flex-sign-in-done/";
    
   $submit_vars["email"] = "insert email address ";
   $submit_vars["password"] = "insert Amazon password ";
    
   $submit_vars["method"] = "get";
   $submit_vars["opt"] = "oa";
   $submit_vars["page"] = "recs/instant-recs-sign-in-standard.html";
   $submit_vars["response"] = "tg/recs/recs-post-login-dispatch/-".
                              "/your/pd_ys_fr_ur";
   $submit_vars["action"] = "sign-in";
   $submit_vars["next-page"] = "recs/instant-recs-register-standard.html";

    //submit email and password to start a session
    if($snoopy->submit($submit_url,$submit_vars))
    {
        while(list($key,$val) = each($snoopy->headers)) {
            if (preg_match("/session-id=(.*?);/i", $val, $ubid)) {
                $session_id = $ubid[1];
            }
        }
    } else {
        echo "error fetching document: ".$snoopy->error."\n";
    }
    
   $snoopyAdd = new Snoopy;
   $snoopyAdd->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; ".
                       "Windows 98)";
    
   $ASIN_list = split(",",$_POST['txaASINs']);
   $submit_add["tag-value"] = $aff_tag;
   $submit_add["tag_value"] = $aff_tag;
   $submit_add["submit.add-to-registry.wishlist"] = [RETURN]
             "Add to Amazon.com Wish List";
   $cntAdded = 0;
   for($i = 0;$i < count($ASIN_list); $i++) {
        $thisASIN = trim($ASIN_list[$i]);
        $submit_url = "http://www.amazon.com/o/dt/assoc/handle-buy".
                      "-box=".$thisASIN."/".$session_id;
        $submit_add["asin.".$thisASIN] = "1";
        if(!$snoopyAdd->submit($submit_url,$submit_add)) {
            echo "error adding item ".$thisASIN.": ".
                 $snoopyAdd->error."<br>\n";
        } else {
            $cntAdded++;
        }
        unset($submit_add[$thisASIN]);
   }
   echo $cntAdded . " item(s) added to your wishlist!";
} else {
?>
<html>
<head>
    <title>Add Wishlist Items</title>
</head>

<body>
Add a list of ASINs below, separated by commas:
<br>
<form action="add_wishlist_items.php" method="post">
    <textarea cols="35" rows="6" name="txaASINs"></textarea>
    <br><input type="submit" value="Add Items">
</form>
</body>
</html>
<?php } ?>

Diese folgende Erklärung habe ich im Internet gefunden und wollte das Skript im php Designer 8 zum Laufen bringen, was bei mir einfach nicht klappt.

Speed up the process of adding items to your wish list with a bit of scripting.

Creating a wish list with 15-20 products is usually a slow process, adding one or two items while you're browsing. Amazon (%) doesn't offer an interface for adding multiple items to a wish list, but you can build one with a bit of scripting. This PHP script accepts a comma-separated list of ASINs and adds them to your wish list all at once.
20.1 What You Need

This script relies on automatic form posts, and there are some external PHP tools to speed up this kind of development. Snoopy for PHP is an open source class that handles HTTP requests. You can download a copy from SourceForge (http://sourceforge.net/projects/snoopy/) and include it in the same directory as this script.
20.2 The Code

This script runs as a web page and presents a simple form for entering ASINs. Once you enter a list of ASINs, this script performs three main actions:

With the Snoopy PHP class, it simulates a Sign In form post at Amazon (%) with your email address and password to retrieve a session ID.
It then loops through the ASINs.
For each ASIN, it uses Snoopy to send a form post with the variables from the remote wish list form [Hack #19].

Because you need to be signed in to add items to your wish list, the key to this script is obtaining a 17-digit Amazon session ID [Hack #13] that is associated with your account when you visit the site. Be sure to include your email address and Amazon password in the following code. Your Amazon password will be in the source of the file, so make sure you're the only one with access. You can also insert an associate tag Section 5.2.2 if you have one, to make sure you get a commission on your wish list purchases.

PHP:
<?php
# add_wishlist_items.php
# Adds multiple items to an Amazon Wish List
# Usage: A PHP page called via web browser

$aff_tag = "insert associate tag ";

error_reporting(E_ERROR | E_WARNING); 

if ($HTTP_POST_VARS) {
   include "Snoopy.class.inc";
   $snoopy = new Snoopy;

   $snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
   $submit_url = "https ://www.amazon.com/exec/obidos/flex-sign-in-done/";
    
   $submit_vars["email"] = "insert email address ";
   $submit_vars["password"] = "insert Amazon password ";
    
   $submit_vars["method"] = "get";
   $submit_vars["opt"] = "oa";
   $submit_vars["page"] = "recs/instant-recs-sign-in-standard.html";
   $submit_vars["response"] = "tg/recs/recs-post-login-dispatch/-".
                              "/your/pd_ys_fr_ur";
   $submit_vars["action"] = "sign-in";
   $submit_vars["next-page"] = "recs/instant-recs-register-standard.html";

    //submit email and password to start a session
    if($snoopy->submit($submit_url,$submit_vars))
    {
        while(list($key,$val) = each($snoopy->headers)) {
            if (preg_match("/session-id=(.*?);/i", $val, $ubid)) {
                $session_id = $ubid[1];
            }
        }
    } else {
        echo "error fetching document: ".$snoopy->error."\n";
    }
    
   $snoopyAdd = new Snoopy;
   $snoopyAdd->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; ".
                       "Windows 98)";
    
   $ASIN_list = split(",",$_POST['txaASINs']);
   $submit_add["tag-value"] = $aff_tag;
   $submit_add["tag_value"] = $aff_tag;
   $submit_add["submit.add-to-registry.wishlist"] = [RETURN]
             "Add to Amazon.com Wish List";
   $cntAdded = 0;
   for($i = 0;$i < count($ASIN_list); $i++) {
        $thisASIN = trim($ASIN_list[$i]);
        $submit_url = "http://www.amazon.com/o/dt/assoc/handle-buy".
                      "-box=".$thisASIN."/".$session_id;
        $submit_add["asin.".$thisASIN] = "1";
        if(!$snoopyAdd->submit($submit_url,$submit_add)) {
            echo "error adding item ".$thisASIN.": ".
                 $snoopyAdd->error."<br>\n";
        } else {
            $cntAdded++;
        }
        unset($submit_add[$thisASIN]);
   }
   echo $cntAdded . " item(s) added to your wishlist!";
} else {
?>
<html>
<head>
    <title>Add Wishlist Items</title>
</head>

<body>
Add a list of ASINs below, separated by commas:
<br>
<form action="add_wishlist_items.php" method="post">
    <textarea cols="35" rows="6" name="txaASINs"></textarea>
    <br><input type="submit" value="Add Items">
</form>
</body>
</html>
<?php } ?>

Note the https:// in the section that signs in to Amazon. As the script gets a session ID, the POST is made over an SSL connection?so you can be sure that using this script is as secure as signing in at Amazon personally.
20.3 Running the Hack

Add the code to a file called add_wishlist_items.php and upload it to your web server. Bring up the page in your web browser, enter a list of ASINs separated by commas (e.g., 0596004478, 0596004605, 0596004613) and click "Add Items." A page should appear letting you know that three (or however many you entered) items were added to your wish list. Just visit your wish list on Amazon to verify!
 

Anhänge

  • Fehlermeldung.PNG
    Fehlermeldung.PNG
    11,4 KB · Aufrufe: 9
Hi

so wird das nichts.
  • Das Script hier ist so geschrieben, dass es vor 17-20 Jahren funktioniert hätte (kA ob es wirklich so alt ist, oder ob der Author einfach keine Ahnung hat). Rein von PHP-Seite her kann es heute so nicht mehr funktionieren.
  • Unabhängig davon hat es auch vor 20 Jahren nicht funktioniert, es sind genug Fehler drin (zum Beispiel in der rot markierten Zeile) Der Author hat sein Programm, so wie es veröffentlicht ist, kein einziges Mal auch nur ausprobiert. (Nur für die Zukunft, rote Zeilen sind keine Fehlermeldungen. Hier ist es zwar klar, aber in Zukunft bitte immer die Meldung selber auch dazuschreiben).
  • Es braucht außerdem mehr PHP-Code von einem anderen Author, dieses "Snoopy", was auch mit einem Hinweis "Copyright 2000" versehen ist => Auch das ist 17 Jahre zu spät.
  • Was der Author da von SSL-Sicherheit schreibt ist a) Unsinn und b) im Code so nicht umgesetzt => Auch wenn es funktionieren würde bist du ein gefundenes Fressen für jeden Kriminellen
  • Amazon hat in den letzten 17 Jahren auch einiges umgestellt => Auch ohne PHP-Probleme wird da nichts funktionieren.
  • Solche automatisierten Zugriffe auf Amazon sind verboten.
  • Mit PHP-Designer hast du dir was gekauft (hast du hoffentlich?), das a) seit über 5 Jahren auch aufgegeben ist, b) nicht gut genug ist, um auf Wikipedia überhaupt erwähnt zu werden (in einer Liste von PHP-Editoren), und c) für dich nutzlos ist, da du vermutlich nicht in der Lage bist Xampp aufzusetzen.
  • ...

...Entweder du suchst dir wen, der dir sowas von Null weg macht (und auch legal macht, siehe Amazon-API), oder du verbringst ein paar Jahre mit dem Lernen von Programmiergrundlagen.

Und nochwas zu fremdem Code, bitte bei nennenswerten reinkopierten Sachen Quellen angeben.
 
Danke für deine Nachricht sheel. Ich hatte nach einer Lösung im Internet gesucht und das dann gefunden:
http://etutorials.org/Misc/amazon+t...20+Add+Multiple+Items+to+a+Wish+List+at+Once/
Da ich wirklich keine Ahnung vom Programmieren habe, hatte ich gehofft, dass das Programm für einen Profi schnell abgeändert werden kann und dann läuft. Dem scheint nicht so zu sein. Bist du denn in der Lage, so ein Programm zu schreiben und mir zu erklären, wie ich es anwenden kann? Selbstverständlich würde ich dafür bezahlen, wenn es erschwinglich ist.
Würde mich freuen, von dir zu hören.
 
Was genau hast du eigentlich vor? Also "wie" soll das ganze aussehen und wie soll es funktionieren? Ich finde es jetzt so unmittelbar nicht so praktisch, eine Wunschliste anhand einer Liste von ASINs zu erstellen, da kann man doch gleich auf Amazon rumklicken und die entsprechenden Artikel mit einem Klick seiner Liste hinzufügen?
 
Was genau hast du eigentlich vor? Also "wie" soll das ganze aussehen und wie soll es funktionieren? Ich finde es jetzt so unmittelbar nicht so praktisch, eine Wunschliste anhand einer Liste von ASINs zu erstellen, da kann man doch gleich auf Amazon rumklicken und die entsprechenden Artikel mit einem Klick seiner Liste hinzufügen?
Hi, war im Urlaub gewesen. Ich möchte gerne Warengruppen auf meine Wunschliste speichern. Für dieseWarengruppen habe ich die ASINs. Jetzt würde ich gerne automatisch die ASINs in meine Wunschlisten übernehmen. Das einzelne hinzufügen ist praktisch möglich aber super zeitaufwendig. Es muss doch eine Möglichkeit geben ASINs Gruppen automatisch einer Wunschliste hinzuzufügen.
Was würde so eine Programmerung kosten? Ist es programmierbar?
Danke
 
Es muss doch eine Möglichkeit geben ASINs Gruppen automatisch einer Wunschliste hinzuzufügen.
Ich habe gerade nochmal gegoogelt, es gibt aktuell keine API seitens Amazon, um dies zu tun. Man muss also immer die Nutzerinteraktion inkl. Login programmatisch nachahmen. Das ist, wie @sheel oben erwähnte, sehr wahrscheinlich von Amazon's ToS/AGB aus untersagt und könnte zu Sperrungen führen.

Was würde so eine Programmerung kosten?
Ich denke nicht, dass die Erstellung eines solchen Programms so aufwändig ist. Höchstens 2-3 Stunden? Allerdings kann jede klitzekleine Änderung am HTML/an der Aufruflogik seitens Amazon dazu führen, dass das Programm nicht mehr geht. Dieses Problem ist inhärent bei Scrape-/Nutzeraktion nachahmen Geschichten.

Was möchtest du denn mit der Wunschliste weiter tun? Möchtest du sie nur anderen anzeigen?
 
Ich habe gerade nochmal gegoogelt, es gibt aktuell keine API seitens Amazon, um dies zu tun. Man muss also immer die Nutzerinteraktion inkl. Login programmatisch nachahmen. Das ist, wie @sheel oben erwähnte, sehr wahrscheinlich von Amazon's ToS/AGB aus untersagt und könnte zu Sperrungen führen.


Ich denke nicht, dass die Erstellung eines solchen Programms so aufwändig ist. Höchstens 2-3 Stunden? Allerdings kann jede klitzekleine Änderung am HTML/an der Aufruflogik seitens Amazon dazu führen, dass das Programm nicht mehr geht. Dieses Problem ist inhärent bei Scrape-/Nutzeraktion nachahmen Geschichten.

Was möchtest du denn mit der Wunschliste weiter tun? Möchtest du sie nur anderen anzeigen?
Diese Wunschlisten sollen dann mit anderen geteilt werden. Man kann diese Wunschlisten privat anlegen oder öffentlich. Ich habe ASINs Gruppen, die ich automatisch in unterschiedliche Wunschlisten einpflegen möchte. Wie wahrscheinlich ist es denn, dass Amazon an der "Aufruflogik" was ändert und dann das geschriebene Programm nicht mehr läuft? Kannst du sowas schreiben? Würdest du das machen und was würdest du verlangen?
 
Wie wahrscheinlich ist es denn, dass Amazon an der "Aufruflogik" was ändert und dann das geschriebene Programm nicht mehr läuft? Kannst du sowas schreiben? Würdest du das machen und was würdest du verlangen?
Das kann ich nicht einschätzen. Es ist allerdings auch eine größere Seite (kein Newsticker eines lokalen Vereins etwa)...
Aktuell habe ich andere Dinge zu tun, vielleicht findest du jemanden in der Jobbörse hier ;)
 
Zurück