Problem z protokolem http

0

Witajcie, mam pytanko w zwiazku z protokolem http. Mianowicie lacze sie ze strona za pomoca socketow na porcie 80 i chce zeby program uruchomil na servie skrypt php ktory powiedzmy zapisze jakis text w pliku na servie. Jaka musze wyslac komende (lub blok komend) zeby to zrobic ??
Jezeli moje rozumowanie jest bledne to prosze mnei poprawic i powiedziec co skopalem.

Pozdrawiam

0

Tak jakbys pobieral normalna strone, czyli 'HTTP 1.1 GET skrypt.php?action=zapisz_plik', o ile pamietam :) Pobierajac strone, powodujesz, ze serwer najpierw wywola skrypt, zeby sie dowiedziec jaka jest tresc strony, a po wykonaniu skryptu ja zwraca.

0

Nie wiem moze gdzies blad robie wiec:

Po polaczeniu sie do strony na porcie 80 orazu przesylam text HTTP 1.1 GET test.php?tekst=costam jednak jak sprawdzam za chwile zawartosc pliku tekstowego do ktorego mialo sie to costam zapisac to plik nadal jest pusty.

Gdzie robie blad ??

0

Co znaczy sprawdzasz za chwile i czego uzywasz do laczenia? Sprawdz format wysylanej wiadomosci, bo nie jestem pewien czy tak dokladnie ma wygladac. O ile pamietam to tak, ale upewnij sie.

0

Jak już to

GET [costam] HTTP/1.0\n
\n
\n

I dopiero się cokolwiek wykona. Tak wygląda prawidłowa składnia zapytania HTTP 1.0, do 1.1 to popatrz po RFC.

0

Stworzylem prosta aplikacje chata, dziala ona na zasadzie:
Co okreslony czas laczy sie z serverem www na porcie 80 wysyla pocelenie GET ktore pobiera plik textowy i zapisuje go w editbox. Jezeli wpiszemy cos i nacisniemy enter program wysyla polecenie GET jednak tym razem do wykonania skryptu php ktory wpisany w programie text zapisze do pliku na servie, tego samego ktory jest cyklicznie pobierany i umeiszczany w editbox.

Testowalem to u siebie lokalnie na apache i wszystko dzialalo super, jednak kiedy wpgalem skrypt php na moj server i zmeinilem w programie adresy wszystko sie posypalo. Nie mohge tego zrozumiec, dzialo na moim lokalnym serverze http a na innym nie dziala. Zaznaczam ze do mojego serva lacze sie przez zewnetrzne ip.

Moze ktos zna tego przyczyne ??

0

Zewnętrzne IP nie ma nic do rzeczy.... Wydaje mi się, że problem może leżeć po stronie skryptu php. Może plik do którego chcesz coś zapisać nie ma odpowiednich uprawnień. Z tego co pamiętam to zmienia się to funkcją chmod(); Sprobuj napisać jakiś prosty skrypt Hello World i zobacz, czy uda Ci się pobrać to co skrypt wypisze. Jeśli nie to problem musi leżeć gdzieś po stronie Twojego połączenia z serwerem.

0
  1. zainstaluj sobie wrishark i sprawdź co odsyła twój serwer, powinnien odesłać coś w stylu '200 OK'
  2. jaki jest twó serwer WWW? sprawdź w jego logach czy nie ma błędu wykonania skryptu (/varlog/httpd/err_log dla Apache).
  3. Kwestia uprawnień - znów dla apacha, skrypt powinien mieć prawa odczyu dla usera apache.

poza tym zrób prosty test - wpisz urla w przeglądarce i sprawdź jak zadziała.

pzdr

Łukasz

1 użytkowników online, w tym zalogowanych: 0, gości: 1