whois mit c++ in der konsole

Detonator_FX

Grünschnabel
Der Titel sagt alles..
ich versuch irgendwie per konsole eine whois abfrage machen.

das einzige was mir eingefallen is:

ich kann bei mir in der normalen cmd per get http://whois.domaintools.com/DOMAIN den quellcode der seite abrufen.
dann wollte ich in dem quellcode nach z.b.: <td><img src="http://img.domaintools.com/flags/us.gif" width="18" height="12" alt="United States" /> suchen und dann den string bearbeiten, dass nur noch United States da steht.

jetz mein problem:

ich kann per
Code:
#include <stdlib.h>

void main(){
system("DOSBEFEHL");   // <- Hier der DOS-Befehl
}
zwar einen dosbefehl starten, aber ich weiss nich wie ich das ergebnsi, was der da zurück gibt abzufange, dass der die zeilenweise in einen string schreibt, es würde auch gehn, wenn der das in einen ganz langen string schreibt.

aber ich weiss nich, wie ich dem den befehl klar mache, wenn die url dynamisch is, also nich fest in dem source code drin steht.

system(""get http://whois.domaintools.com/"+ip"); //geht nicht, logisch
system("get http://whois.domaintools.com/+ip"); //geht auch nicht, logisch

aber wenn auch wenn das funktionieren würde, wüsste ich nicht , wie ich das dann in einen string schreiben soll..

whois = system(..... );//geht nich, der speichert das nich. habs mit ner festen ip getestet.

evtl ha ich ja einen denkfehler ... aber wie kann ichd as sonst realisieren.

danke schonmal ! :-)
 
Hi.

Mit C++ kannst du folgendermaßen Strings verketten:
C++:
#include <string>
using namespace std;

string ip = "...";
string cmd = "get http://whois.domaintools.com/" + ip;
Um die Ausgabe eines Programmes zu erhalten ist die system() Funktion gänzlich ungeeignet. Da mußt du schon eine sog. Pipe benutzen. Schau mal hier: http://www.tutorials.de/forum/visualstudio-mfc/196915-readfile-auf-pipe-kommt-nicht-zurueck.html

Um von dem C++ String einen C-String (char*) zu erhalten, mußt du nur die c_str() Methode aufrufen.

Gruß
 
Dafür hat Microsoft in seiner Großzügigkeit ja die komplette Dokumentation online gestellt:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ipc/base/createpipe.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/createprocess.asp

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/readfile.asp

Da kann man ziemlich detailliert nachlesen was die einzelnen Parameter bedeuten und wie man die Funktionen benutzen muß.

Übrigens muß die main Funktion in ISO C und ANSI/ISO C++ int zurückgeben.

Gruß
 
Zurück