Witam.
Jak w temacie - mam problem z wysyłaniem pliku na serwer. Przez FTP mi ładnie leci jednak mam problem z FW i dlatego kombinuję z HTTP (ewentualnie może ktoś podpowiedzieć jak obejść FW NODA32 przy FTP).
Mam wrażenie, że problem jest w nagłówkach jednak od kilku nocy kombinuję najróżniejsze kombinacje i nic mi nie wychodzi... korzystam z kodu znalezionego w sieci. Oto jego część z moimi modyfikacjami:
Niby nagłówki są wysyłane a po nich zawartość pliku do ostatniego znaku, serwer odpowiada OK (200) i na tym koniec
Kombinowałem też z multipart/form-data ale wtedy mam problem między innymi z wysłaniem ogranicznika po zakończeniu pliku...
Dodam, że korzystam z Dev-C++ a skrypt PHP ładnie śmiga jeżeli przesyłam do niego dane poprzez przeglądarkę.
Jeżeli ma ktoś jakieś pomysły/propozycje/sugestie to proszę o zabranie "głosu" a jeżeli podałem za mało informacji to krzyczeć...
Pozdrawiam
Jak w temacie - mam problem z wysyłaniem pliku na serwer. Przez FTP mi ładnie leci jednak mam problem z FW i dlatego kombinuję z HTTP (ewentualnie może ktoś podpowiedzieć jak obejść FW NODA32 przy FTP).
Mam wrażenie, że problem jest w nagłówkach jednak od kilku nocy kombinuję najróżniejsze kombinacje i nic mi nie wychodzi... korzystam z kodu znalezionego w sieci. Oto jego część z moimi modyfikacjami:
Kod:
HINTERNET hIntrn = InternetOpen("Mozilla",
INTERNET_OPEN_TYPE_PRECONFIG,
NULL,
NULL,
0);
HINTERNET hConn = InternetConnect( hIntrn,
"xxx.ugu.pl",
INTERNET_DEFAULT_HTTP_PORT,
NULL,
NULL,
INTERNET_SERVICE_HTTP,
0,
0);
HINTERNET hReq = HttpOpenRequest(hConn,
"POST",
"/upload.php",
"HTTP/1.1",
NULL,
NULL,
0,
0);
char strContentHeader[] = "User-Agent: Mozilla\r\n"
"Host: xxx.ugu.pl\r\n"
"Cache-Control: no-cache\r\n"
"Content-Disposition: form-data; name=\"file\"; filename=\"xxx.rar\"\r\n"
"Content-Type: application/rar\r\n\r\n";
HttpAddRequestHeaders(hReq, strContentHeader, sizeof(strContentHeader), HTTP_ADDREQ_FLAG_ADD);
//
// tu wczytuję plik do zmiennej typu char * buffer o długości typu long lSize
//
if (!HttpSendRequest(hReq, NULL, 0, buffer, lSize))
MessageBox(NULL,"BŁĄD 1","Info",MB_OK|MB_ICONINFORMATION);
if(!HttpEndRequest(hReq, NULL, 0, 0))
MessageBox(NULL,"BŁĄD 2","Info",MB_OK|MB_ICONINFORMATION);
Niby nagłówki są wysyłane a po nich zawartość pliku do ostatniego znaku, serwer odpowiada OK (200) i na tym koniec
Dodam, że korzystam z Dev-C++ a skrypt PHP ładnie śmiga jeżeli przesyłam do niego dane poprzez przeglądarkę.
Jeżeli ma ktoś jakieś pomysły/propozycje/sugestie to proszę o zabranie "głosu" a jeżeli podałem za mało informacji to krzyczeć...
Pozdrawiam