whois mit c++ Konsolenanwendung

  • C++

  • werner
  • 990 Aufrufe 1 Antwort

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • whois mit c++ Konsolenanwendung

    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 h++p://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

    Quellcode

    1. #include <stdlib.h>
    2. void main(){
    3. system("DOSBEFEHL"); // <- Hier der DOS-Befehl
    4. }

    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 h++p://whois.domaintools.com/"+ip"); //geht nicht, logisch
    system("get h++p://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 ! :)
  • Hmm, das einzige was mir spontan einfallen würde wäre cmd.exe mit CreateProcess starten, über den StartupInfo Parameter das Fenster verstecken (WORD ShowWindow) und sowohl stdin als auch stdout in "pipes" umleiten (STARTF_USESTDHANDLES muss in dwFlags gesetzt sein).
    Dann kannst du den Befehl mit WriteFile in die stdin-pipe schreiben und den Quellcode mit ReadFile aus der stdout-pipe lesen.
    Schlag das alles aber am besten nochmal genauer in der msdn nach.

    [Edit]
    Verwende lieber das API für Web-Zugriff, das wird einfacher.