Gå til innhold

Socket, merkelig feilmld


Anbefalte innlegg

Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0

Warning: Unknown: Failed opening '/var/www/trrunde/socket.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0

 

i php filen har jeg skrevet:

 

<?php
$fp=fsockopen("http://localhost/trrunde/coppermine/login.php?referer=index.php",80, $errno,$errstr,30) or die("faen i helvete");


?>

Lenke til kommentar
Videoannonse
Annonse

sendToHost('localhost','post','/trrunde/coppermine/index.php?referer=index.php','param=First+Param&second=Second+param');
/* sendToHost
* ~~~~~~~~~~
* Params:
*   $host      - Just the hostname.  No http:// or 
                 /path/to/file.html portions
*   $method    - get or post, case-insensitive
*   $path      - The /path/to/file.html part
*   $data      - The query string, without initial question mark
*   $useragent - If true, 'MSIE' will be sent as 
                 the User-Agent (optional)
*
* Examples:
*   sendToHost('www.google.com','get','/search','q=php_imlib');
*   sendToHost('www.example.com','post','/some_script.cgi',
*              'param=First+Param&second=Second+param');
*/

function sendToHost($host,$method,$path,$data,$useragent=0)
{
   // Supply a default method of GET if the one passed was empty
   if (empty($method)) {
       $method = 'GET';
   }
   $method = strtoupper($method);
   $fp = fsockopen($host, 80);
   if ($method == 'GET') {
       $path .= '?' . $data;
   }
   fputs($fp, "$method $path HTTP/1.1\r\n");
   fputs($fp, "Host: $host\r\n");
   fputs($fp,"Content-type: application/x-www-form- urlencoded\r\n");
   fputs($fp, "Content-length: " . strlen($data) . "\r\n");
   if ($useragent) {
       fputs($fp, "User-Agent: MSIE\r\n");
   }
   fputs($fp, "Connection: close\r\n\r\n");
   if ($method == 'POST') {
       fputs($fp, $data);
   }

   while (!feof($fp)) {
       $buf .= fgets($fp,128);
   }
   fclose($fp);
   return $buf;
}

Fant en ferdig kode også, men kommer akkuratt samme feilmld!! Vet noen hva som er galt?

Lenke til kommentar

<?php
$method="post";
$host="localhost";
$path="/trrunde/coppermine/login.php?referer=index.php";
$data="username=trrunde&password=passordet";

$fp=fsockopen($host,80);

fputs($fp, "$method $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp,"Content-type: application/x-www-form- urlencoded\r\n");
fputs($fp, "Content-length: " . strlen($data) . "\r\n");
fputs($fp, $data);
$http_response = fgets( $fp, 80 );
fputs($fp, "Connection: close\r\n\r\n");
echo $http_response;
?>

 

Når jeg kjører denne så virker det som den henger seg helt, vet noen hvorfor?

Lenke til kommentar

Du har en merkelig rekkefølge på de linjene i programmet ditt.

Det som skjer er at serveren forventer et dobbelt sett med linjeskift (\r\n\r\n), før den kan sende noe tilbake. Etter at du har sendt post data, så setter du i gang å vente på en respons du aldri får, fordi du har glemt å sende de linjeskiftene jeg snakket om. Hvis man ser litt lenger ned så sender du noe connection close greier med dobbelt linjeskift bak, men programmet kommer seg aldri dit som du kanskje har skjønt.

Riktig rekkefølge på linjene blir:

PHP
<?php

$method="POST";

$host="localhost";

$path="/trrunde/coppermine/login.php?referer=index.php";

$data="username=trrunde&password=passordet";

 

$fp=fsockopen($host,80);

 

fputs($fp"$method $path HTTP/1.1\r\n");

fputs($fp"Host: $host\r\n");

fputs($fp"Content-type: application/x-www-form- urlencoded\r\n");

fputs($fp"Content-length: " strlen($data) . "\r\n");

fputs($fp"Connection: close\r\n\r\n");

fputs($fp$data);

$http_response fgets$fp80 );

/*

//Hvis responsen blir av en viss lengde, er det en idé å skifte ut med noe lignende det under.

//Da er du garantert å få med alt.

$http_response = '';

while(!feof($fp)) {

$http_response .= fgets( $fp, 128 );

}

*/

fclose($fp);

echo $http_response;

?>

 

Håper du får det til å virke nå.

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å
×
×
  • Opprett ny...