Gå til innhold

Får ikke til fsockopen med POST


Anbefalte innlegg

<?php
$host="www.nordicmafia.net";
$fp = fsockopen($host, 80, $errno, $errstr, 30);

$html;

if (!$fp) {
   echo "$errstr ($errno)<br />\n";
} else {
   $out = "POST /nordic/logginn.php HTTP/1.1\r\n";
   $out .= "Host: $host\r\n";
   $out .= "User-Agent: Mozilla\r\n";
   $out .= "Accept-Language: en-us,en;q=0.5\r\n";
   $out .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
   $out .= "Referer: http://www.nordicmafia.net/nordic";
   $out .= "Content.Length: 71\r\n";
   $out .= "Connection: keep-alive\r\n\r\n";
   $out .= "brukernavn=sdfdf&passord=sdfsdf1&submit=Logg inn&kqwe=FFGGGLNLFLMN\r\n";


   fwrite($fp, $out);
   while (!feof($fp)) {
       $html=$html . fgets($fp, 128);
   }

   echo $html;


   fclose($fp);
}
?>


<br>

<hr>

 

Men jeg er usikker på hvordan POST fungerer, skal POST dataene være en del av headerene? Eller skal det være

$out .= "Connection: keep-alive\r\n\r\n";
$out .= "data=verdier_her\r\n";

Eller

$out .= "Connection: keep-alive\r\n";
$out .= "data=verdier_her\r\n\r\n";

Eller

$out .= "Connection: keep-alive\r\n\r\n";
$out .= "data=verdier_her";

 

Hva er riktig?

Endret av willbend
Lenke til kommentar
Videoannonse
Annonse

<?php
error_reporting(E_ALL);

$brukernavn = "";
$passord ="";

$host = 'www.nordicmafia.net'; // domain only, no path info
$path = '/nordic/logginn.php'; // path to cgi, asp, php program
$user_agent = ''; // identify as your own user agent (like 'MSIE') if you want
$parameters = 'brukernavn='.$brukernavn.'&passord='.$passord.'&submit=Logg+Inn&kqwe=FFGGGLNLFLMN';
$data = '';

$fp = fsockopen($host, 80, $errno, $errstr, 30);
$out = "POST $path HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Content-type: application/x-www-form-urlencoded\r\n";
$out .= "Content-length: " . strlen($parameters) . "\r\n";
if ($user_agent) {
$out .= "User-Agent: $user_agent\r\n";
}
$out .= "Connection: close\r\n\r\n";
$out .= $parameters;
fputs($fp, $out);

while (!feof($fp)) {
$data .= fgets($fp,128);
}
# Fjern firkanten på neste linje for å sjule HTTP-headers!
#/*
echo "Ut:<pre>$out</pre>Inn:<pre>$data</pre>";
/**/
fclose($fp);
?>

Denne virker bra ;)

 

EDIT: Nå virker den bra :p

Endret av Judofyr
Lenke til kommentar

// stripos finner første forekomst av "rank" med store eller små bokstaver, etter posisjon 0 (Starten)
$rankpos = stripos($data, "rank", 0); 
// substr velger ut en sub string som starter på $rankpos + 4 og slutter på $rankpos+14
$titegn = substr($rankpos+4, $rankpos+14);

EDIT: 4 og 14 pga av lengden på "rank", kan evt legge dette til på $rankpos..

stripos for å få "hits på "rank" med både små og store bokstaver.

Endret av kakkle
Lenke til kommentar

Neste spørsmål, når man gjør slik: file("asfdasd.txt")

 

Får hvert element i arrayen en \n bak seg ellernoe?

 

Den fester på noe i hvertfall, skjer merkelige ting her.

 

EDIT: Ja det er \n som blir festet på, jeg prøvde trim($array[$i]) men det funket ikke, hva annet kan jeg gjøre?

 

EDIT2: Det var bare jeg som klebbet litt, har fått det til nå.

Endret av willbend
Lenke til kommentar
  • 3 måneder senere...
jeg får hele tiden feilmeldingen at det er feilt brukernavn passord med det scriptet...  (nr 2)

6259514[/snapback]

$parameters = 'brukernavn=$brukernavn&passord=$passord&submit=Logg+Inn&kqwe=FFGGGLNLFLMN';

Bytt ut med

$parameters = 'brukernavn='.$brukernavn.'&passord='.$passord.'&submit=Logg+Inn&kqwe=FFGGGLNLFLMN';

Endret av missiongul
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...