-
02.11.11 21:09 #1
- 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
-
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 JennestaWas 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.
-
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, ...?
-
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
cwriterIntel 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
-
03.11.11 20:17 #5
- 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
-
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, ...?
-
03.11.11 20:38 #7
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 erreichbar • Sicherheit in PHP-Codes schaffen • Google Chrome-Extension für tutorials.de • json_compress()
-
03.11.11 20:48 #8
- Registriert seit
- Jul 2011
- Beiträge
- 65
Buch über Webseiten so steuren kennt keiner von euch oder?
-
Ö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):
Ich habe es ausprobiert; auf dem VC++ Express 2010 SP1 funktioniert's.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; }
@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
cwriterGeä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
-
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, ...?
-
03.11.11 21:12 #11
- 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?
-
Ö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
cwriterIntel 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
-
Ü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, ...?
-
04.11.11 14:52 #14
- 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
-
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
-
Login in Website über Visual Basic
Von XanRaZoR im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 16.06.07, 17:40 -
Per Buttondruck abwechselnd 2 Texte versenden
Von Uncle Sam im Forum Visual Basic 6.0Antworten: 5Letzter Beitrag: 02.01.07, 16:35 -
DuplicateMovieClip per Buttondruck stoppen
Von IRIE im Forum Flash PlattformAntworten: 1Letzter Beitrag: 17.08.05, 19:19 -
Swing/GUI Buttondruck soll Liste erscheinen lassen
Von Studiarbeit im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 3Letzter Beitrag: 31.05.05, 15:56 -
Probleme mit Movieclips die bei Buttondruck abgespielt werden sollen
Von legio_x im Forum Flash PlattformAntworten: 2Letzter Beitrag: 06.01.05, 04:27



9Danke

Zitieren

Login






