[PHP] Wysylanie danych metoda POST bez formularza

0

Witam, musze wyslac dane metoda POST, lecz bez formularza :)

znalazlem takie info na strefaphp.net, kod wyglada tak:

<?php 
   $url = 'gry.wp.pl'; 
   $fp = fsockopen($url, 80, $errno, $errstr, 1); 
   $out = "POST /core.html?filtr=0,0&x=szukaj HTTP/1.0\r\n"; 
   $out .= "Host: $url\r\n"; 
   $out .= "Content-Type: application/x-www-form-urlencoded\r\n"; 
/** 
* Tu podajemy długość całego łańcucha zmiennych POST (patrz niżej) 
*/ 
   $out .= "Content-Length: 13\r\n"; 
   $out .= "\r\n"; 
/** 
* Tu kolejno podajemy zmienne POST oddzielając je & (tak jak w GET) 
*/ 
   $out .= "szukaj=FRAZA\r\n"; 
   $out .= "Connection: Close\r\n\r\n"; 
   fwrite($fp, $out); 
   while (!feof($fp)) 
   { 
      $echo .= fgets($fp, 128); 
   } 
   fclose($fp); 
   echo substr($echo,185); 
?>

chodzi o logowanie do ogame, aby pobrac sesje i zapisac ja np. do $_SESSION, ale zeby ogame sie nie zaladowalo. moj skrypt bedzie po kliknieciu, wysylal dane post z loginem i haslem, oraz universum, nastepnie pobieral sesje i wykonywal dalsze instrukcje

jak wpisuje

$out .= "login=jakislogin&haslo=jakieshaslo&uni=1/r/n";

to serwer odpowiada ze nie ma takego uzytkownika, to po 1, a po 2 to bardzo dlugo sie laduje...

ktos moze cos o tym wie? ;]

0

Będę strzelał,
spróbuj tak:
$out .= "login='jakislogin'&haslo='jakieshaslo'&uni=1/r/n";

ewentualnie tak:
$out .= "login="jakislogin"&haslo="jakieshaslo"&uni=1/r/n";

0

jest jakas roznica miedzy:
/r/n a
\r\n

? ;] bo ten skrypt wyglada inaczej... a moze po prostu zrobie

$out .= 'login=login';
$out .= 'haslo=haslo';

:>

0
* Tu podajemy długość całego łańcucha zmiennych POST (patrz niżej) 
*/ 
   $out .= "Content-Length: 13\r\n"; 

hmm, a to co? musze policzyc wszystkie znaki i wpisac je tam? ;p

0
UnnamedPoster napisał(a)

jest jakas roznica miedzy:
/r/n a
\r\n

?

Nie zwróciłem na to uwagi:
\n to znak nowej linii, a
/n to po porostu / i n ;)

0

hmm, skrypt wysyla tylko pierwsza zmienna, jak mam kod:

$out .= "login=login&pass=haslo\r\n";

to hasla nie wysyla, bo pisze ze zle haslo, wszystko sprawdzilem i jest dobrze, tylko nie wysyla :|

0

to spróbuj tutaj
$out .= "Content-Length: 13\r\n";
zamiast 13 wpisać coś więcej, bo jeżeli jest to liczba znaków, to wygląda na to, że obcina Ci to gdzieś w okolicy &pas
;]

0

ok dziala, dzieki :)

0

Szczerze mówiąc nie spodziewałem się, bo to w większości były ślepe strzały ;)
ale cieszę się, że mogłem i pomogłem :]

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