tutorials.de Buch-Aktion 05/2012
Seite 1 von 7 1234 ... LetzteLetzte
Like Tree9Danke
ERLEDIGT
JA
ANTWORTEN
94
ZUGRIFFE
3549
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Hallo,
    Ich möchte gerne ein Programm schreiben was auf eine Seite geht und ein Bottom drück und sich vorher anmeldet kennt ihr ein Tut dafür? Achja ich möchte es in Hintergrund haben also nur ein Konsolen Fenster öffen haben also nichts mit Auto-Klickern oder so...

    PS:Ich habe kein Thema gefunden und weiß nicht wie das heiß könnt mir ja Link schicken falls ich was übersehen haben und das doch Doppel Post ist...

    mfG
    Jonas
     

  2. #2
    Avatar von Jennesta
    Jennesta Jennesta ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Ort
    Aachen
    Beiträge
    215
    Hallo,
    also erstmal würde ich dir empfehlen etwas auf die Rechtschreibung zu achten, denn ich verstehe nichtmal genau was du überhaupt willst.
    Wenn du eine grafische Benutzeroberfläche mit Buttons willst, dann kann ich dir nur eine Bibliothek empfehlen, die das beinhaltet. Qt bietet das und hat auch eine gute Dokumentation und Tutorials.

    Grüße Jennesta
     
    Was soll daran kompliziert sein? Es muss doch nur ein Rad bewegt werden, man kann aufsteigen, es kommt die Matschhütte und durch den Regenbogen gelangst du zum hungrigen Affen, der Affenschwanz wird gezogen und bums kommst du zum Paradispark.

  3. #3
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Hi

    ich versteh: Du willst ein Programm, das sich automatisiert auf einer Website mit Login anmeldet und dann einen Button auf der Seite automatisiert drückt.

    Stimmt das so?
    Die Vorgehensweise dazu ist von Seite zu Seite unterschiedlich;
    die Url und der betroffene Button wären also interessant.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  4. #4
    cwriter cwriter ist offline Mitglied Gold
    Registriert seit
    Mar 2010
    Beiträge
    242
    Linux/Windows?

    Mit Sockets sollte sowas gehen, wenn's ein [unsichere] GET login ist, ist's einfacher, wenn's ein POST ist ist es schwieriger. Du müsstest nur eine Anfrage mit dem richtigen Inhalt verschicken.
    Und wie sheel schon sagte: Welche Seite? Es gibt keine Musterlösung, du müsstest also für jede Seite einen eigenen Code schreiben.

    Gruss
    cwriter
     
    Intel inside - Idiot outside :-)

    Ich schreibe in C und bin Anfänger.
    ______________________________

    Falls ich eines Tages einen guten Beitrag schreiben werde, bitte bewerten und/oder Danke sagen.
    Danke

  5. #5
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Ok also ich möchte unter Windows(7) mit C++ ein Konsolenanwendung schreiben die ein Webseite "öffnet" also das kein Browser sich öffnet das ich nicht davon mitbekomme. Cwriter hat ja was von Sockets geschrieben hat da jemand ein Buch was alles was mit Internet zu tun hat erklärt. Am besten wo so was ähnliches gemacht wir das was ich vorhabe.

    Achja es ist nur eine Idee von mir was ich vielleicht mal brauchen könnte also nicht bestimmtes also Facebook oder so....

    mfG
     

  6. #6
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Also, Sockets wären natürlich eine Möglichkeit, aber unnötig umständlich.
    Wenn man sich den HTTP-Aufbau sparen will: cUrl.

    Was man braucht:
    Login: Je nach Seite einen Request mit GET/POST-Daten absenden und zB. ein Cookie empfangen.
    Button: Mit dem Cookie (der was sonst zur Auth verwendet wird) nochmal ein GET/POST-Request.
    Die passenden Formularnamen sind aus der Seite zu entnehmen.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  7. #7
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.358
    Blog-Einträge
    4
    Den Browser öffnen und ihn unsichtbar machen, das geht 100% mit der WinAPI.
    Aber ich bin mir gerade nicht sicher, ob man dann noch einen Klick simulieren könnte...

    http://www.c-plusplus.de/forum/169861-full ist auf den ersten Blick eine ziemlich ausführliche Erklärung für Sockets.

    Aber eine fertige Bibliothek (z.B: cURL) ist natürlich viel einfacher für dein Vorhaben!
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  8. #8
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Buch über Webseiten so steuren kennt keiner von euch oder?
     

  9. #9
    cwriter cwriter ist offline Mitglied Gold
    Registriert seit
    Mar 2010
    Beiträge
    242
    Öhm, nein!? Du steuerst ja dann auch nicht die Website, oder?
    Weisst du was? Ich zeige einfach mal einen Code mit Sockets (von c-programmieren.com):
    Code c:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    
    #include <windows.h>
    #include <winsock2.h> 
    #pragma comment(lib,"ws2_32.lib")
    #include <stdio.h> 
     
    int main() 
    { 
    SOCKET Socket; 
    SOCKADDR_IN Adressinfo; 
    char Antwort[1024];
    LPHOSTENT lpHostEntry; 
    long Verbindung;
    WSADATA wsa;
     
    char Nachricht[256]; 
    sprintf(Nachricht, "GET /index.html HTTP/1.0\nHost: www.c-programmieren.com\n\n" ); //Hier Website ändern / IP eintragen
    //Anfrage
    // Winsock starten
     
    Verbindung=WSAStartup(MAKEWORD(2,0),&wsa);
    if (Verbindung != NO_ERROR) 
    { 
    printf("WSAStartup ist fehlgeschlagen: %d\r\n", Verbindung);
    }
     
    // Socket erstellen 
    Socket=socket(AF_INET,SOCK_STREAM,0); 
     
    memset(&Adressinfo,0,sizeof(SOCKADDR_IN)); // zuerst alles auf 0 setzten 
     
    Adressinfo.sin_family=AF_INET; 
    Adressinfo.sin_port=htons(80); // HTTP = 80 
    Adressinfo.sin_addr.sin_addr = inet_addr("100.100.100.100"); //Ip der Website
    Verbindung=connect(Socket,(SOCKADDR*)&Adressinfo,sizeof(SOCKADDR)); 
    if ( Verbindung == SOCKET_ERROR) 
    {
    printf("Verbindung ist fehlgeschlagen!\n");
    system("Pause");
    closesocket(Socket);
    WSACleanup();
    }
     
    Verbindung=send(Socket,Nachricht,strlen(Nachricht),0); 
    if (Verbindung == SOCKET_ERROR) 
    {
    printf("Die Nachricht konnte nicht verschickt werden: %d\r\n", WSAGetLastError());
    system("Pause");
    closesocket(Socket);
    WSACleanup();
    return 0;
    }
    else
    {
    printf("Die Nachricht %s wurde verschickt!\n",Nachricht);
    }
     
    while(Verbindung!=SOCKET_ERROR) 
    { 
    Verbindung=recv(Socket,Antwort,1023,0); 
    if(Verbindung==0) 
    { 
    printf("Server hat die Verbindung getrennt..\n"); 
    break; 
    } 
    if(Verbindung==SOCKET_ERROR) 
    { 
    printf("Fehler bei Empfangen: %d\n",WSAGetLastError()); 
    break; 
    } 
    Antwort[Verbindung]='\0'; 
    printf("\nAntwort:\n\n %s\n\n\n",Antwort); 
    } 
    closesocket(Socket); 
    WSACleanup(); 
    system("Pause");
    return 0; 
    }
    Ich habe es ausprobiert; auf dem VC++ Express 2010 SP1 funktioniert's.

    @sheel
    cUrl ist doch eine externe lib (nicht von Microsoft)? Es gibt doch auch noch WinInet, aber ich bin mir nicht sicher, ob die dafür geeignet ist. Ich werde mal nachschauen.

    /EDIT: WinInet scheint ähnlich zu sein wie cURL: httpRequest() & co. sind alle vorhanden.

    Gruss
    cwriter
    Geändert von cwriter (03.11.11 um 21:06 Uhr)
     
    Intel inside - Idiot outside :-)

    Ich schreibe in C und bin Anfänger.
    ______________________________

    Falls ich eines Tages einen guten Beitrag schreiben werde, bitte bewerten und/oder Danke sagen.
    Danke

  10. #10
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Ja, WinInet ist vom Sinn her das Gleiche, kann aber weniger als cUrl.
    Und ja, cUrl ist extern und nicht von MS.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  11. #11
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Danke für den Code aber trotzdem hab ich keine Ahnung wie ich jetzt Bottum drücke und so. Gibt es den kein Tut oder so wo habt ihr das gelernt?
     

  12. #12
    cwriter cwriter ist offline Mitglied Gold
    Registriert seit
    Mar 2010
    Beiträge
    242
    Öhm, ok, von vorn:
    Wenn du im Browser einen Button mit dem html-type "submit" drückst (fast alle buttons in Formularen), wird automatisch der Inhalt der Editfelder im selben Form ausgelesen (meistens mit php) und verarbeitet. Wenn du also einen Button klickst, sendest du den Auslese-Befehl. Dasselbe kannst du gleich mit Sockets machen ( das machen Browser übrigens auch ).
    Alles klar? Du solltest dir den html-Syntax ansehen, um sowas kompliziertes zu programmieren.

    Gruss
    cwriter
     
    Intel inside - Idiot outside :-)

    Ich schreibe in C und bin Anfänger.
    ______________________________

    Falls ich eines Tages einen guten Beitrag schreiben werde, bitte bewerten und/oder Danke sagen.
    Danke

  13. #13
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Übrigens heißt es "Button", nicht "Bottum".
    Habs im Titel auch ausgebessert (und etwas aussagekräftiger gemacht).

    Wie wir das gelernt haben?
    Kann natürlich nicht für die Anderen sprechen, aber: Gar nicht.
    Dort ein Stückchen Information, da ein Anderes...und alles im Kopf zusammenhängen.

    Wenn du unbedingt die Hintergründe verstehen willst, hier ein paar Stichworte
    (zu jedem Einzelnen braucht es viel mehr als nur einmal googlen, um es gut zu verstehen):
    Socket, HTTP(-Header), Cookies, GET/POST, HTML-Formular, Session...

    Warum schaust du dir nicht einfach Tutorials zu cUrl an
    und machst das einfach, wie es dort steht?

    Und noch einmal: Um dir konkret helfen zu können,
    musst du dich auf eine Seite und einen Button festlegen.
    Sonst bleibt wohl nur die Verständnis-Lektüre.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  14. #14
    Jonas Meyer Jonas Meyer ist offline Mitglied Silber
    Registriert seit
    Jul 2011
    Beiträge
    65
    Ok meine Seite ist Google.de und der Button ist "Auf gut Glück"...

    Hab mal gesucht nach cURL und cUrldlib oder so gefunden ist das das richtige?
    Hab mir paar Tuts angeschaut aber ich verstehe es nicht....
    Also ich muss Socket mit Server(Seite) verbinden und dann muss ich doch was empfangen auswerten und was zurück schicken oder? Kann mir denn jemand sagen wo ich cUrl runterladen kann und wie ich das mit empfangen auswerten und zurückschicken geht?
    Geändert von sheel (04.11.11 um 15:03 Uhr) Grund: Doppel
     

  15. #15
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    cUrldlib ist wahrscheinlich die Debugversion.

    Wie du das findest? "cUrl" im Google auf gut Glück...

    Und nein, cUrl musst du nicht mit Sockets mischen.

    Bez. Auf-gut-Glück hat Google ein paar spezielle Get-Parameter in der Url, einfach nachschauen.
    Und wie man eine Website ohne Cookies/POST/etc mit cUrl lädt...dazu findet man genug.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

Ähnliche Themen

  1. Login in Website über Visual Basic
    Von XanRaZoR im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 16.06.07, 17:40
  2. Per Buttondruck abwechselnd 2 Texte versenden
    Von Uncle Sam im Forum Visual Basic 6.0
    Antworten: 5
    Letzter Beitrag: 02.01.07, 16:35
  3. DuplicateMovieClip per Buttondruck stoppen
    Von IRIE im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 17.08.05, 19:19
  4. Swing/GUI Buttondruck soll Liste erscheinen lassen
    Von Studiarbeit im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 31.05.05, 15:56
  5. Antworten: 2
    Letzter Beitrag: 06.01.05, 04:27

Stichworte