Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [curl] Dane POST między serwerami
Forum PHP.pl > Forum > PHP
pitbull82
Witam

Mam problem - mam prosty skrypt na hostingu hostgator który łączy się z api za pomocą curla i wysyła dane post. Uprościłem całość do minimum i wychodzi mi na to, że dane POST nie są wysyłane jeśli żądanie idzie na inny serwer niż serwer na którym znajduje się skrypt wywołujący. Skrypt serwera obsługującego żądanie:

  1. <?php
  2. echo "POST DATA ".serialize($_POST)."<br />";;
  3. if (isset($_POST['username'])) {
  4. echo "GOOD";
  5. return;
  6. }
  7. echo "BAD ";
  8.  
  9. ?>


zwraca BAD i puste dane POST czyli nie dostaje tych danych. Skrypt serwera wysyłającego jak sądzę nie ma żadnego znaczenia, bo w odwrotną stronę działa bez problemu (jeśli zamienić serwery klienta i serwera że tak to nazwę).

Pytanie - co może blokować wysyłanie danych POST w tym przypadku? Curl na serwerze z którym mam problem generalnie przy pobieraniu jakiejś strony (bez danych POST) działa bez problemu.

Pozdrawiam
Sephirus
A może nie w tym rzecz - może jest jakieś przekierowanie i dane POST przepadają?
pitbull82
Wielkie dzięki, rzeczywiście w tym przypadku chodziło o 301.

Niestety tylko oddala mnie to od znalezienia prawdziwego problemu, czyli czemu skrypt na hostgator nie łączy się z api the best spinnera.
Sephirus
Hmm no to już by trzeba było w konkretny kod zajrzeć bo opcji jest pełno...

Jeśli to jest redirect z

POST {url} na GET {url}

i zostaje ten sam url to może to kwestia jakiegoś zabezpieczenia (sprawdzają referera jeśli jest POST - takie zabezpieczenie by nie wrzucać danych z zewnętrznego forma itp.)

Może nie dosyłasz czegoś co jest wymagane? Nie wiadomo czy to 301 jest generowane ze skryptu czy poprzez serwer - za dużo nie wiadomych - za mało danych wink.gif

EDIT: ok zapomniałem że to Twój skrypt... hmmm to tym bardziej staje się dziwne...
pitbull82
Skrypt testowy uruchomiłem właśnie który dostarcza the best spinner (teraz tutaj tylko próbowałem zlokalizować problem) i na innym serwerze działa bez problemu, a z hostgatora zachowuje się tak jakby nie dostał odpowiedzi. Po teście wychodzi na to, ze z innym urlem mój testowy skrypt działa bez problemu, więc ten z the best spinnera też powinien działać. Jedyne wytłumaczenie jest takie, że albo hostgator blokuje the best spinnera albo na odwrót ale coś czuję że znając życie prędzej skorzystam z innych kont hostingowych niż jedni albo drudzy coś odblokują tym bardziej, że w necie widziałem dokładnie te same problemy co mam (z łączeniem z hostingu hostgatora do api the best spinnera), ale rozwiązania nikt nie przedstawił.
Sephirus
No to zaczyna mieć sens wszystko. Tylko jak oni to zrobili i po co tego nie wiem... Co ważne gdyby to był jakiś typowy BAN albo coś w tym rodzaju to dostałbyś 403 albo coś takiego. Może faktycznie postaw na inny hosting wink.gif
wNogachSpisz
Wklej dump http.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.