Website einloggen

Skid

Erfahrenes Mitglied
Hallo,

ich probiere derzeit an einem Programm rum, welches sich auf eine Website einlogen und dort Einträge auslesen soll. Das Problem ist, dass ich kein wirklich funktionierendes Tutorial finde und mit den Sachen, die ich bisher gefunden habe kein lauffähiges Programm zu Stande bekomme.

Ich habe versucht mittels der CURL-Library eine einfache Verbindung (nach dem vorgegebenen Code der Website) herzustellen, jedoch ohne Erfolg. Das Problem ist, dass ich dort immer Linkerfehler bekomme, dass verschiedene Funktionen nicht gefunden wurden. Jedoch wurden alle Lib-Ordner und Include-Ordner ordnungsgemäß verlinkt.

Jetzt gerade habe ich versucht mit der HttpWebRequest-Klasse ein lauffähiges Programm zu starten. Das Problem ist, dass der benötigte Namespace System.Net nicht gefunden wird, trotz Verlinkung mit der Framework SDK. Ich habe hier irgendwie da Gefühl, dass ich irgendetwas von MSDN falsch verstehe oder falsch mache.

So richtig komme ich momentan nicht weiter, deswegen frage ich euch, ob ihr mir weiterhelfen könnt.

Beste Grüße und Danke,
SkiD.
 
Hi

Zu Curl: Du musst nicht nur die Verzeichnisse, sondern auch die Dateien selber angeben.

Zu System.Net: Nur um sicher zu gehen: Welchen Compiler verwendest du?
 
Hallo,

danke erstmal für deine Antwort!

@ CUrl:
Inwiefern selbst angeben ?
Ich dachte es reicht, wenn ich den Lib-/Include-Ordner angebe. Wie muss ich die Dateien angeben ?
In den Optionen von Visual Studio 2010 ?

@ System.Net:
Ich habe den Standard-Compiler von Visual Studio 2010.
 
Curl: Nop. Die benötigten Lib-Dateien müssen in den Projekteinstellungen beim Punkt Linker dazu.
Irgendwas mit "zusätzliche Abhängigkeiten" (bin mir jetzt nicht wirklich sicher, wie das beschriftet ist).

System.Net: Hmm, ist die system.dll auch irgendwo eingetragen?
 
Also, zu CUrl: Das Problem was ich wahrscheinlich damit habe ist, dass ich nur das Source-Package habe. Weswegen er die Libs eben nicht finden kann. Kommt natürlich daher dass ich die ganze Geschichte noch nicht zusammen gebastelt habe. Ich habe mir eben die "Anleitung" dafür durchgelesen und bin bei den Versuch fast verzweifelt die Libs zu kreieren, da die Anleitung für Linux ausgelegt worden ist.

Die System.Net Geschichte hat mir jetzt, nachdem ich mir die System.dll neu runtergeladen habe und mit in den Ordner des Projektes gelesen habe angezeigt, dass ich #using nicht unter C++ nutzen kann, sondern diese Option nur unter C++/CLI verfügbar ist. Meines Wissens ist das was ganz anderes als C++ selbst.
 
curl: Wenn man nach "curl binaries" sucht, bekommt man auch einige Ergebnisse.

C++/CLI: Ja, ist was anderes als C++. Dachte eigentlich, dass das schon von Anfang an klar war.
C++/CLI ist quasi ein .NET-C++, das Microsoft entwickelt hat und nur mit Visual Studio (kein gcc oder so) verwendbar ist.
Man kann normales C++ und den .NET-Teil im gleichen Programm mischen.
Wenn du bei echtem C++ bleibst, vergiss System.Net.

Und einfach so eine DLL herunterladen ist auch nicht gerade super.
Wenns verschiedene Versionen gibt und andere DLLs, die von der einen abhängen (was hier beides der Fall ist) kanns zu Problemen kommen, wenn die eine DLL neuer oder älter ist als die anderen.
Vor allem bei so einer Runtime, die von vielen Programmen verwendet wird, ist sowas nicht so schön...

Gruß
 
Huhu sorry das ich jetzt erst antworte, hatte noch zu tun.
Ja das C++/CLI was anderes ist als C++ ist mir schon klar, ich hatte es nochmal so reingeschrieben, um es zu reflektieren.

Ja, dass hat im Endeffekt eh nicht funktioniert. Ich habe mir das normale Paket von CURL runtergeladen um eine dll zu kompilieren. Nur habe ich jetzt das Problem, dass ich das mittels nmake machen muss. Dafür habe ich alles eingerichtet, nur bekomme ich via Commandprompt gesagt, dass er die windows.h nicht finden kann. Muss ich die irgendwie noch in die Umgebungsvariablen mit hinzufügen ? Oder warum findet "er" das nicht?

Habe bisher noch keine Erfahrung mit komplilieren via CommandPrompt, deswegen frage ich...
 
Generell müssen die Verzeichnisse der Compilerprogramme, Includes und Libs als EnvVars angegeben werden.
Wenn du die Cmd aber im Startmenü bei Visual Studio/"Visual Studio 20xx Eingabeaufforderung" startest, geht das von selbst.

Gruß
 
Ich habe es endlich hinbekommen. xD

Was für ein gewürge und mich wundert es doch schon sehr stark, dass es für die Geschichte keine Guide gibt. ^^ Ich habe deinen Tipp befolgt und die Eingabeaufforderung von Visual Studio gestartet. Dort wurden dann glücklicherweise alle Libaries etc. hinzugefügt in die Umgebungsvariablen.

Anschließend hatte ich das Problem, dass die libcurl.lib falsch gebastelt wurde, dass Problem konnte ich nach testen endlich beheben. Anschließend wurde in Visual Studio rumgemeckert, dass er die libcurl.lib nicht korrekt öffnen kann. Sehr verwirrend der Fehler, denn darunter verstehe ich nicht, dass ich evtl. den falschen Ordner angegeben habe. Habe es dann hinbekommen.

Dann startete wenigstens dass Programm mit der Fehlermeldung, dass die libcurl.dll nicht gefunden wurde, dass konnte ich dann auch recht schnell beheben, in dem ich die dll einfach in den Ordner des Projekts mit reinkopiert habe.

So jetzt kann ich endlich CUrl nutzen.
Danke dir für deine Hilfe, was an manchen Stellen schon fast vorm verzeifeln. ^^
 
Zurück