Seitenaufrufe
-
Kannst du es bitte deutlicher ausdrücken denn ich bin ein Anfänger in C++.
-
#include <boost/asio.hpp> #include <boost/array.hpp> #include <iostream> #include <string> boost::asio::io_service io_service; boost::asio::ip::tcp::resolver resolver(io_service); boost::asio::ip::tcp::socket sock(io_service); boost::array<char, 4096> buffer; void read_handler(const boost::system::error_code &ec, std::size_t bytes_transferred) { if (!ec) { std::cout << std::string(buffer.data(), bytes_transferred) << std::endl; sock.async_read_some(boost::asio::buffer(buffer), read_handler); } } void connect_handler(const boost::system::error_code &ec) { if (!ec) { boost::asio::write(sock, boost::asio::buffer("GET / HTTP 1.1\r\nHost: cok-cs-clan.de/\r\n\r\n")); sock.async_read_some(boost::asio::buffer(buffer), read_handler); } } void resolve_handler(const boost::system::error_code &ec, boost::asio::ip::tcp::resolver::iterator it) { if (!ec) { sock.async_connect(*it, connect_handler); } } int main() { boost::asio::ip::tcp::resolver::query query("www.cok-cs-clan.de/", "80"); resolver.async_resolve(query, resolve_handler); io_service.run(); }(Ungetestet! Die Homepage habe ich mal gewählt, weil da gerade ein Counter war)
Ich bin selber kein Experte auf dem Netzwerk-Gebiet, aber soweit ich das verstanden habe, wird bei der Synchronisation "asynchron" mit einem DNS-Server interagiert (auch Namensauflösung genannt). Und bei dieser Anmeldung wird wohl deine IP-Adresse gespeichert, wodurch die jeweilige Webseite dann weiß, wer gerade auf auf der Webseite ist.Und da die meisten Webseiten-Counter per IP-Adresse nur einmal pro Zeiteinheit inkrementiert werden, kannst du dein Vorhaben in die Tonne treten, es sei denn du weißt, wie man seine IP-Adresse abändert.
-
Danke aber es geht bestimmt noch leichter ich wollt jetzt nicht mit dem Clienten auf die Seite sondern einfach etwas das denn Standart-Browser öffnet und auf eine Webseite weiterleitet.
Hab mal was von ShellExecute oder so gelesen.
-
Pffff, Noob-Lösung

Jo, mit Shellexecute geht das, bzw. mit entsprechenden Parametern. Benutz mal die Suche, das gab's schonmal.
-
Ähm... Zunächst ist ein Webserver nichts anderes als ein Computerprogramm, dass auf dem Port 80 Verbindungen entgegennimmt. Dazu wird ein spezielles Protokoll zum Datenaustausch verwendet: das HTTP-Protokoll.
Rufst du mit deinem Browser also eine Adresse auf, so wird an diese Adresse auf Port 80 ein Befehl gesendet, und du erhältst als Antwort die angefragte Seite.
Dabei können solche Webseiten auch dynamisch gestaltet werden. Häufig wird PHP eingesetzt, welches den HTML-Quelltext dynamisch anpasst. Auch ein Counter lässt sich so schreiben. Um also einen Counter zu erhöhen, musst du nichts anderes machen, als das dafür verantwortliche Script aufrufen.
Sollte das Script tatsächlich eine IP-Sperre enthalten, so hast du keine Möglichkeit dieses Limit auszuhebeln.
Die Library libcurl stellt Funktionen zum Aufrufen von Webseiten bereit.
-
Roflmao schrieb:
Danke aber es geht bestimmt noch leichter ich wollt jetzt nicht mit dem Clienten auf die Seite sondern einfach etwas das denn stan****-Browser öffnet und auf eine Webseite weiterleitet.
Hab mal was von ShellExecute oder so gelesen.
Wenn dir die Ausgabe unwichtig ist und es dir nur um das Aufrufen geht, dann könntest du es so lösen.
Ganz billig wäre sogar das hier, aber du hast dann keine Kontrolle über das Fenster und kannst es z.B. auch nicht unsichtbar machen:
system("explorer http://www.c-plusplus.net");
-
Ja hab schon was gefunden bloss will ich dass es auf ca 5000 Seiten geht das mach ich dann per Schleife aber das Problem ist dass der dann 5000 mal nen Browser öffnet bzw Tab's und ich wollt halt so machen das er die Seite aufruft nach 1sek die nächste auf der gleichen Adresseleiste.... sozusagen das es ohne neuen Tab oder Fenster geht..
-
#include <iostream> using namespace std; int main() { int urlid = 1; char* url = "http://seite.de/accountid?"; while(urlid < 10000) { cout << url << urlid; urlid++; } getchar(); }So in etwa aber in der while Schleife muss eben die Funktion die, die Seite im Browser aufruft

-
Roflmao schrieb:
Servus Leute und ein Frohes neues Jahr!
Hätte mal ne kleine Frage ich weiß jetzt ned ob es mit dem stan****-C++ geht aber das könnt ihr mir ja sagen
Also meine Frage wäre wie ich ein Seitenaufruf mit dem stan**** Browser per Programm ausführe?Das ist prinzipiell mal Betriebssystemspezifisch. Oder viel mehr abhängig von der graphischen Oberfläche. Was verwendest Du? Gnome, KDE, XFCE oder etwas anderes? Einige verwenden auch Windows.
Im übrigen würde mich echt mal interessieren, warum Du stan**** schreibst. Ich sehe das öfters auch hier im Forum, dass man diese Sternchen verwendet.
-
tntnet schrieb:
Im übrigen würde mich echt mal interessieren, warum Du stan**** schreibst. Ich sehe das öfters auch hier im Forum, dass man diese Sternchen verwendet.
Der Schreiber schreibt die Sternchen nicht. Das ist ein Feature des Forums um die Rechtschreibzentren der regelmäßigen Leser zu schonen und die Ausbreitung falscher Schreibweisen zu verlangsamen.
Zensur

-
Genau^^ das Standart wird zensiert

Ich benutze Windows 7 und denn Firefox 3.6 noch in der Beta.
-
Ja, korrekt heißt es nämlich standard.
-
#include <iostream> #include <windows.h> using namespace std; int main() { int urlid = 1; char* url = "http://seite.de/accountid?"; while(urlid < 100) { ShellExecute(NULL, "open", url urlid, url urlid, NULL, NULL); cout << url << urlid; urlid++; } getchar(); }So hab es jetzt geschafft blos noch 2 Probleme wie setze ich Variablen in die Funktion Shellexecute ein? Und gibts ein Befehl das er Windows Explorer wieder schliesst damit ned 5000 Seiten bzw Tabs aufeinmal offen sind kackt nur der PC ab. Am besten das er das in der adressleiste automatisch Editiert ohne denn Browser zu schliessen einfach ne neue Internet Seite öffnen im gleichen Fenster/Tab.
-
Sry kann leider nicht editieren weil ich unregistriert bin..
Wenn ich die urlid weglasse also die Variable dann geht es er ruft dann eben das was in der Variable gespeichert ist. Funktionieren nicht 2 Variablen?Hab mal "http://seite.de/accountid?"urlid versucht klappt auch ned

-
Roflmao schrieb:
Genau^^ das stan**** wird zensiert

Ich benutze Windows 7 und denn Firefox 3.6 noch in der Beta.
Dann solltest Du auch "... de** Firefox ..." statt "... denn Firefox ..." schreiben. Oder gleich "... den Firefox ..."
.
-
Muss hier immer nach jedem 2. Wort verbessert werden?
-
Kommt schon Leute, irgendeiner muss doch helfen können..
-
Naja, was will man dir großartig helfen. Du hast kein Plan von programmieren und willst hier ein Programm schreiben, dass mehr Wissen verlangt als "C++ Tutorial: Chapter 1". Allein das du Funktionen als "Befehl" ansiehst, ist Schmerzhaft genug.
Was erhoffst du dir eig.? Das es für jeden Scheiß eine Funktion gibt? Du findest sicherlich eine Funktion namens "EditAdressBarInInternetExplorer()"... /ironie off. Dafür brauchst du dann schon zugriff auf das Fenster selber und noch mehr. Und dir wird keiner so ein Programm einfach vorspucken. Von daher kannste dein Traum von dem Programm sogut wie abschreiben, wenn du nicht einen Deppen findest der das macht, du C++ bzw. WinApi lernst oder dafür zahlst. Natürlich könntest du vielleicht auch nach einer Library suchen, die evtl. so etwas kann, aber wie willst du mit sowas umgehen können, wenn du nicht mal die Grundlagen kannst und Sachen wie "Funktion(variable1 variable2)" versuchst.
Ich möchte dich jetzt nicht ankacken, aber schon zu oft kamen so Leute wie du und haben gedacht, dass das alles ein Lollipop vom Ponyhof für umsonst schlecken wäre. Du kannst nunmal dir nicht nur einfach einen Compiler laden, da einfach eine Funktion in den Code reinrotzen, für jede Zeile und Funktion hier eine Frage ins Forum randalieren und nichts dafür tuen.Mit freundlichen Grüßen : Freaky
-
tntnet schrieb:
Oder viel mehr abhängig von der graphischen Oberfläche. Was verwendest Du? Gnome, KDE, XFCE oder etwas anderes?
Das ist egal, dafür gibt es xdg-open. Alle Desktops, die was auf sich halten, sind fdo-kompatibel.
@OP: Doku schon gelesen?
http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx
Und was du mit "url urlid" als Parameter bezweckst kann ich mir vorstellen.
Ich denke das
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39488.html
wird dir helfen. Ansonsten ist ShellExecute sehr MS-spezifisch, vllt. gibts da auch Zaubermacros, die das ganz einfach selber konvertieren und zusammenkleben. (Ich hab keine AHnung von Windows, seit 6 Jahren keines mehr gesehen :P)
-
@FreakY<3Cpp: Wie schlimm hast du nur gelitten

Nur weil du nervig drauf bist musst du hier nicht die Leute anscheißen wenn du es nicht lassen kannst hast du hier nix zu Suchen, das kann man auch nett erklären das man hier ned alles vorgesagt bekommt....
Und ich hab ned gesagt ihr sollt mir den Code ausspucken sonder hab gefragt ob es dafür ein Befehl gibt oda wie es funktioniert und ich sag ned das ich C++ gut behersche aber die Grundlagen kann ich einigermassen und will immer dazu lernen.
Ich weiß das es nervig ist aber man kannst beim ersten mal nett versuchen