| Applikationen Probleme mit Anwendungsprogrammen aller Art gehören hier hin. |
Diskussion: Problem bei wget mit cookies im Forum Applikationen, in der Kategorie Software Home; Anzeige Hallo, ich möchte regelmässig mit WGET Seiten von einer http HP runter laden. Diese HP hat ein Login Verfahren ...
![]() |
| | #1 (permalink) |
| Registriert seit: 24.07.07 ![]() Likes: 0 | Anzeige Hallo, ich möchte regelmässig mit WGET Seiten von einer http HP runter laden. Diese HP hat ein Login Verfahren und Cookies, so dass ich angemeldet bleiben kann (so wie hier im Forum). WGET verfügt ja über eine Cookie Verwaltung, aber irgendwie komme ich damit nicht klar, denn wenn ich die Seiten ziehe, ist immer nur die Login Seite geladen, statt die Seiten die ich eigentlich anfordere. Ich habe schon verschiedene Experimente gemacht mit den WGET Parametern. Z.B. wget --referer="http://www.ABC.com" --cookies=on --load-cookies="C:\Dokumente und Einstellungen\Admin\Anwendungsdaten\Mozilla\Firefo x\Profiles\cmjnokb1.default\cookies.txt" --save-cookies="C:\Dokumente und Einstellungen\Admin\Anwendungsdaten\Mozilla\Firefo x\Profiles\cmjnokb1.default\cookies.txt" --keep-session-cookies --post-data="User=MeinUserName&pass=MeinPasswort" --user-agent="Mozilla/5.0" "http://www.ABC.com/index.php?aktion=tracker" aber es klappt nicht. Kann mir jemand auf die Sprünge helfen? |
| | |
| | #2 (permalink) |
| Moderator ![]() | Es sollte reichen, wenn du dich beispielsweise im Firefox auf der Seite einloggst und wget dann mittels --load-cookies die cookies.txt unterjubelst. Mehr sollte da nicht nötig sein, es sei denn, die Seite hat umfangreichere Prüfmechanismen eingebaut. |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter Registriert seit: 24.07.07 ![]() Likes: 0 | Tja dann wird wohl letzteres der Fall sein. Denn ersteres habe ich schon versucht. Und es klappt nicht. ![]() Bin so langsam am verzweifeln wie ich automatisiert auf diese Seite komme. Am Referer kann es nicht liegen. Denn habe ich in FF mal abgeschaltet und kam trotzdem rein. Es sind bestimmt die Cookies, denn bei abgeschalteten Cookies komme ich auch mit FF nicht in die Seite rein. Aber hexen können die doch auch nicht. Was mit FF manuell geht muss doch auch automatisierbar sein ?( Habe gerade versucht die Seite per DL Manager (Free Downloadmanager) bei eingeschalteten Cookies runter zu laden. Und es funzt !!!! Auch wenn ich gerade NICHT im Browser eigeloggt bin. Also geht es im Prinzip - rein über Cookies! Ich muss es nun nur noch in WGET schaffen, da ich diesen als Interface für mein Programm benutze. |
| | |
| | #4 (permalink) |
| Registriert seit: 20.08.07 ![]() Likes: 0 | hi, gerade neu hier und schon ein thema was mich auch schon seit längerem beschäftigt. benutze aber nicht wget als interface sondern die funktionen von libcurl . wenn ich die zugangsdaten mittels POST an die zielseite sende gibt es 2 möglichkeiten: zugangsdaten falsch => seite wird richtig gelesen zugangsdaten richtig => nichts wird gelesen leider weiss ich nicht wie ich mittels libcurl die seite den cookie schreiben lassen kann ![]() vielleicht weiss jemand etwas... mich würde auch sehr interessieren ob du das problem mittels wget elegant lösen konntest ohne auf die browser cookies zurückgreifen zu müssen... |
| | |
| | #5 (permalink) |
| Themenstarter Registriert seit: 24.07.07 ![]() Likes: 0 | Da mein Projekt eilte musste ich mir eine andere Lösung einfallen lassen - es hatte ja keiner mehr geantwortet. Und letztendlich sogar mit einigen Vorteilen. Ich benutze jetzt den Free Download Manger als Interface ! Den kann ich auch über die Command aufrufen - einfach URL dranhängen. Mit Schalter -fs popt er nicht einmal auf. Er ist sowie Cookie als auch HTTP, FTP Passwort fähig und kommt somit in die Seiten rein ! Weiter Vorteile gegenüber Wget: parallel download automatisches Torrent Handling Es geht nicht pro DL ein Dos Fenster auf, daher kann man es auch nicht ausversehen schliessen und den DL abbrechen. übersichtlichere Darstellung der DLs Nachteile: Die Organisation über den Speicherort der Files und was mit File passieren soll wenn bereits vorhanden ist (Resume / Overwrite) muss in FDM Manager geregelt werden und kann nicht von der Command aus übergeben werden. Habe dies aber mal als Vorschlag an FDM eingereicht. |
| | |
| | #6 (permalink) |
| Registriert seit: 20.08.07 ![]() Likes: 0 | hi, habe mitlerweile auch eine lösung gefunden, habe es mal mehr oder weniger sauber programmiert, soll als grundlage für ein programm dienen dass in festgelegten intervallen meine studivz nachrichtenbox auf neue nachrichten überprüft. der folgende code schnipsel setzt das session cookie und lädt die persönliche startseite erfolgreich, vielleicht interessierts dich ja!? Ist denke ich auch sehr einfach auf andere fälle zu übertragen... Code: #include <stdio.h>
#include <curl/curl.h>
size_t interpret(void *ptr, size_t size, size_t nmemb, void *stream) {
//crawler code
return size*nmemb;
}
int main(void)
{
char *data="page=&next=&email=DINEEMAIL&pass=DEINPASSWORT&login=Einloggen",
*filen="exe.html",
*cookien="cookie.txt",
error[CURL_ERROR_SIZE];
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
/**/
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, interpret);
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
curl_easy_setopt(curl, CURLOPT_HEADER,1);
curl_easy_setopt(curl, CURLOPT_COOKIEJAR, cookien);
curl_easy_setopt(curl, CURLOPT_URL, "http://www.studivz.net/login.php");
/**/
res = curl_easy_perform(curl);
curl_easy_cleanup(curl); // <= erst jetzt wird cookie geschrieben!!!
if(res == CURLE_OK) {
printf("1 : curl_easy_perform() erfolgreich ausgefuehrt\n");
curl = curl_easy_init();
/**/
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, interpret);
curl_easy_setopt(curl, CURLOPT_COOKIEFILE, cookien);
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error);
curl_easy_setopt(curl, CURLOPT_HEADER,1);
curl_easy_setopt(curl, CURLOPT_URL, "http://www.studivz.net/home.php");
/**/
res = curl_easy_perform(curl);
if(res == CURLE_OK) {
printf("2 : curl_easy_perform() erfolgreich ausgefuehrt\n");
}
else {
printf("2 : error: %s\n", error);
}
}
else {
printf("1 : error: %s\n", error);
}
remove(cookien);
}
curl_easy_cleanup(curl);
return 0;
} |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Peinliches Problem mit wget... | n0oBz0r | Linux/UNIX | 4 | 25.09.07 15:47 |
| Problem mit Cookies | DaRaffa | (Web-) Design und webbasierte Sprachen | 0 | 03.07.06 19:06 |
| wget speichert session cookies nicht | blueflash | Linux/UNIX | 3 | 13.04.06 08:40 |
| wget | DelumaX | Linux/UNIX | 5 | 15.01.03 18:44 |
| Problem von Cookies ??? | kingofblow | (Web-) Design und webbasierte Sprachen | 1 | 10.01.02 23:18 |