Bitcoin Forum

Local => Off-Topic (Deutsch) => Topic started by: ImI on January 03, 2015, 07:09:47 PM



Title: Wie programmiert man sowas?
Post by: ImI on January 03, 2015, 07:09:47 PM
Hi,

folgende Vorraussetzung:

Ich habe eine Website A eine Exchange bzw so etwas Ähnliches und eine Website B mit gewöhnlichem Text. (Website A verfügt eventuell über eine API aber das ist noch nicht ganz sicher.)

Nun möchte ich das sobald auf Website B sich ein bestimmter Wert ändert automatisch auf Website A eine Order gegeben wird.

Wie gehe ich das technisch am besten an? Ich müsste ja Website B ständig scrapen oder? Und was eignet sich am besten um quasi durch einen Bot (wohlmöglich ohne API-Zugang) Website A zu steuern. Also sich anzumelden als User und Orders zu geben?

Bin für jeglichen Hinweis dankbar.

ImI


Title: Re: Wie programmiert man sowas?
Post by: klaus on January 03, 2015, 07:19:33 PM

Früher haben wir das mit http-fetcher gemacht.

Vielleicht ist es das gleiche wie scrapen, dazu kenn ich mich jetzt zu wenig aus.



Title: Re: Wie programmiert man sowas?
Post by: ImI on January 03, 2015, 07:24:05 PM
Ja, ich denke das dürfte in etwa so etwas sein. Ich denke die Daten zu erfassen dürfte den technisch leichtesten Part stellen, ich frage mich eher wie ich Website A steuern kann?


Title: Re: Wie programmiert man sowas?
Post by: Christian1998 on January 03, 2015, 07:37:37 PM
Du könntest auf Server A die Datei "a.php" mit dem Inhalt:
<?php
Header("location: www.ServerB.com/b.php?do=<Dein-Text>");
?>
Auf Server B die Datei "b.php" mit dem Inhalt:
<?php
$cmd = mysql_real_escape_string($_GET['do']);
echo $cmd;
?>

Sollte gehen habe es über mein Handy geschrieben ;)
Bei Fragen oder falls du noch was wissen willst melde dich bitte per PNoder per Email an Admin@Dice-Win.com.
MfG Christian Freisheimer


Title: Re: Wie programmiert man sowas?
Post by: klaus on January 03, 2015, 07:53:00 PM
Ich denke nicht das er in Website B Code einbinden kann.


Title: Re: Wie programmiert man sowas?
Post by: LOBSTER on January 03, 2015, 07:56:58 PM
Kommt ganz darauf an wie du es lösen willst (ob mit PHP, cURL, Python, C#...)

Ich werf hier mal HTTP Requests in den Raum:

http://msdn.microsoft.com/de-de/library/system.web.httprequest%28v=vs.110%29.aspx
http://dotnet-snippets.de/snippet/simple-web-request-with-web-response/215

Damit kannst du zum einen die Daten von Website B fetchen und Website A ansteuern.

Edit: FALLS du es selber machen willst (eben noch eine Anleitung gefunden) -> http://bots.uthar.nl/35/mybot-tutorial-part-1


Title: Re: Wie programmiert man sowas?
Post by: phantastisch on January 03, 2015, 08:45:06 PM
Also zum Scrapen mit php kann ich  http://simplehtmldom.sourceforge.net wärmstens empfehlen.


Title: Re: Wie programmiert man sowas?
Post by: ImI on January 14, 2015, 01:20:10 AM
sorry, hatte viel um die ohren und da ist das projekt erstmal hinten angestellt worden.

danke für die tipps! ich werde es jetzt im endeffekt mangels zeit wahrscheinlich bei einem freelancer in auftrag geben.


Title: Re: Wie programmiert man sowas?
Post by: Wed on January 14, 2015, 11:52:22 AM
Du könntest auf Server A die Datei "a.php" mit dem Inhalt:
<?php
Header("location: www.ServerB.com/b.php?do=<Dein-Text>");
?>
Auf Server B die Datei "b.php" mit dem Inhalt:
<?php
$cmd = mysql_real_escape_string($_GET['do']);
echo $cmd;
?>

Sollte gehen habe es über mein Handy geschrieben ;)
Bei Fragen oder falls du noch was wissen willst melde dich bitte per PNoder per Email an Admin@Dice-Win.com.
MfG Christian Freisheimer

Du kannst nicht einfach ein mysql_real_escape_string aufrufen ohne eine mysql Verbindung zu haben.
Siehe http://php.net/manual/de/function.mysql-real-escape-string.php

Quote
Hinweis:
Sie müssen eine Verbindung zu MySQL geöffnet haben, bevor Sie mysql_real_escape_string() verwenden, ansonsten erhalten Sie einen Fehler vom Typ E_WARNING und der Rückgabewert wird zu FALSE. Ist link_identifier nicht angegeben, wird die letzte MySQL-Verbindung verwendet.

Zudem ist die Funktion deprecated, abgesehen davon dass sie ohne Verbindung nicht funktioniert ;)
Wollte ich bloß nicht so stehen lassen :P

Das wichtigste wurde ja schon gesagt aber hier nochmal eine kurze Zusammenfassung falls sich jemand anderer entschließt sowas mal zu machen.

Zu Server B: regelmäßig pollen und parsen (wenn sie keine API haben)
Zu Server A: Wenn API vorhanden, dann diese nutzen, wenn keine API vorhanden dann kommt es darauf an wie sicher der Exchange ist (z.B. 2FA).

Theoretisch brauchst du noch einen Server C oder Computer C. Auf diesem läuft dann der Bot (Computer) oder das Script (Server). Wenn der Exchange dann auch noch 2FA hat wirds extrem kompliziert.
Ich denke die einfachere Möglichkeit ist hier ein Bot. Wenn du das ganze mit einem Script bauen möchtest, wirst du nicht umher kommen dich mit diversen Protokollen, POST und GET, usw auseinander zu setzen.
Bei einem Bot kannst du theoretisch einen einfachen Webview bauen und den Vorgang des Order-Abgebens ganz easy automatisieren. Sowas liese sich zum Beispiel in Java, C#, Objective-C, usw. relativ einfach umsetzen.


Title: Re: Wie programmiert man sowas?
Post by: Christian1998 on January 14, 2015, 03:33:32 PM
Du könntest auf Server A die Datei "a.php" mit dem Inhalt:
<?php
Header("location: www.ServerB.com/b.php?do=<Dein-Text>");
?>
Auf Server B die Datei "b.php" mit dem Inhalt:
<?php
$cmd = mysql_real_escape_string($_GET['do']);
echo $cmd;
?>

Sollte gehen habe es über mein Handy geschrieben ;)
Bei Fragen oder falls du noch was wissen willst melde dich bitte per PNoder per Email an Admin@Dice-Win.com.
MfG Christian Freisheimer

Du kannst nicht einfach ein mysql_real_escape_string aufrufen ohne eine mysql Verbindung zu haben.
Siehe http://php.net/manual/de/function.mysql-real-escape-string.php

Quote
Hinweis:
Sie müssen eine Verbindung zu MySQL geöffnet haben, bevor Sie mysql_real_escape_string() verwenden, ansonsten erhalten Sie einen Fehler vom Typ E_WARNING und der Rückgabewert wird zu FALSE. Ist link_identifier nicht angegeben, wird die letzte MySQL-Verbindung verwendet.

Zudem ist die Funktion deprecated, abgesehen davon dass sie ohne Verbindung nicht funktioniert ;)
Wollte ich bloß nicht so stehen lassen :P
(...)
Dann ersetzte es durch diese Funktion: http://php.net/manual/de/function.htmlspecialchars.php.
;)
Dadurch dass ich selten was ohne MySQL mache, funktioniert es aber wenn man MySQL verbunden hat :P
MfG Christian