kickerxy123
Erfahrenes Mitglied
Hallo zusammen,
ich habe derzeit ein Problem, bei dem ich nicht sicher bin, ob es am Server oder an meinem Code liegt...
Ich versuche eine Datei "a.txt" herunter zu laden von
-Server a: geht ohne Probleme, Datei wird korrekt übertragen root\b\a.txt
-Server b: schlägt jedes Mal fehl root\WWW\b\a.txt
Da es auf dem einen Server ohne Probleme geht, muss Server b irgendwie anders konfiguriert sein (allerdings kann ich das nicht so genau nachprüfen, ich weiß lediglich, dass auf beiden Apache läuft ->sind 2 kostenlose Webspaces unterschiedlicher Hoster).
Auf der anderen Seite muss es ja irgendwie mit C++ auch auf Server b gehen, da ich es im IE ohne Probleme anzeigen lassen kann oder er mir die Datei zum Download anbietet (je nach Endung/Browser).
Hier der relevante Code-Ausschnitt:
Laut Fehlermeldung ist lpszFileSize entweder Müll oder gar nichts. ErrorCode = 12150. Die eigentliche Funktion scheint allerdings nicht fehlzuschlagen, da er in den Abschnitt mit der -77 nicht hineingeht. Sollte ich es über HttpOpenRequest statt InternetOpenUrl versuchen?
Ich hoffe ihr könnt mir weiterhelfen
Danke und Gruß,
kickerxy
#EDIT:
Ich hätte es schon eher testen sollen, dachte aber, wenn schon die Dateigrößenabfrage nicht geht, dann wohl auch nicht der Download. Naja, nun habe ich es ausprobiert: Er downloadet die vollständige Datei ohne Probleme. Mein Problem ist nun also nur noch in der Abfrage der Dateigröße mittels HttpQueryInfo.
ich habe derzeit ein Problem, bei dem ich nicht sicher bin, ob es am Server oder an meinem Code liegt...
Ich versuche eine Datei "a.txt" herunter zu laden von
-Server a: geht ohne Probleme, Datei wird korrekt übertragen root\b\a.txt
-Server b: schlägt jedes Mal fehl root\WWW\b\a.txt
Da es auf dem einen Server ohne Probleme geht, muss Server b irgendwie anders konfiguriert sein (allerdings kann ich das nicht so genau nachprüfen, ich weiß lediglich, dass auf beiden Apache läuft ->sind 2 kostenlose Webspaces unterschiedlicher Hoster).
Auf der anderen Seite muss es ja irgendwie mit C++ auch auf Server b gehen, da ich es im IE ohne Probleme anzeigen lassen kann oder er mir die Datei zum Download anbietet (je nach Endung/Browser).
Hier der relevante Code-Ausschnitt:
C++:
hInternet = InternetOpen("Microsoft Internet Explorer", INTERNET_OPEN_TYPE_PRECONFIG, 0, 0, 0);
if(!hInternet ) return -1;
HINTERNET hURL = InternetOpenUrl(hInternet, pURL.c_str(), 0, 0, 0, 0);
if(!hURL){InternetCloseHandle(hInternet); return -2;}
DWORD dummy = 20, d2 = 0;
CHAR lpszFileSize[20];
if(FAILED(HttpQueryInfo(hURL, HTTP_QUERY_CONTENT_LENGTH, (LPVOID)lpszFileSize, &dummy, &d2)))
{
writeToLog("Err#0#1#1");
InternetCloseHandle(hURL);
InternetCloseHandle(hInternet);
return -77;
}
fileSize = atoi(lpszFileSize);
if(fileSize <= 0)
{
ccout("The file you want to download doesn't exist\nor has file size zero: " + pURL + _STRING(" ErrCode: ",GetLastError()," moreInformation: ",lpszFileSize));
InternetCloseHandle(hURL);
InternetCloseHandle(hInternet);
return -4;
}
Ich hoffe ihr könnt mir weiterhelfen
Danke und Gruß,
kickerxy
#EDIT:
Ich hätte es schon eher testen sollen, dachte aber, wenn schon die Dateigrößenabfrage nicht geht, dann wohl auch nicht der Download. Naja, nun habe ich es ausprobiert: Er downloadet die vollständige Datei ohne Probleme. Mein Problem ist nun also nur noch in der Abfrage der Dateigröße mittels HttpQueryInfo.
Zuletzt bearbeitet: