sockets (Opgelost)
Sander1993 - 29/12/2008 22:24 (laatste wijziging 29/12/2008 22:27)
PHP interesse
hey,
na aanleiding van een socket tutorial ben ik een beetje gaan experimenteren en heb ik deze code:
<?php
$fp = fsockopen("www.google.nl", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.google.nl\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fread($fp, 128);
}
fclose($fp);
}
?>
<?php
$fp = fsockopen ( "www.google.nl" , 80 , $errno , $errstr , 30 ) ; if ( ! $fp ) {
echo "$errstr ($errno )<br />\n " ; } else {
$out = "GET / HTTP/1.1\r \n " ;
$out .= "Host: www.google.nl\r \n " ;
$out .= "Connection: Close\r \n \r \n " ;
}
}
?>
nu voer ik hem uit en hoop ik dit te krijgen:
HTTP/1.1 200 OK
Cache-Control: private, max-age=0
Date: Mon, 29 Dec 2008 21:23:19 GMT
Expires: -1
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=ecd04ebbe51c62c7:TM=1230585799:LM=1230585799:S=Zsq-05Lqj6E2qXjz; expires=Wed, 29-Dec-2010 21:23:19 GMT; path=/; domain=.google.nl
Server: gws
Transfer-Encoding: chunked
Connection: Close
dit krijg ik ook + de content van google, terwijl dat niet de bedoeling is, hoe los ik dit nu op?
6 antwoorden
Gesponsorde links
Stijn - 30/12/2008 00:13
PHP expert
Hetgeen je doet is iets wat je browser ook doet. Je doet namelijk een HTTP GET request naar een server en die stuurt je headers en inhoud terug.
Sander1993 - 30/12/2008 10:06
PHP interesse
zou ik dan de header en de inhoud van elkaar moeten splitten om alleen de headers te krijgen?
Koen - 30/12/2008 10:25 (laatste wijziging 30/12/2008 10:31)
PHP expert
http://www.plaatscode.be/64176 /
Is alles wat er wordt gereturned.
PHP.net: Explode op "\r\n\r\n" ?
<?php
$fp = fsockopen("www.google.nl", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.google.nl\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$sReturn = fread($fp, 128);
$aExploded = explode("\r\n\r\n", $sReturn);
$sHeaders = $aExploded[0];
echo $sHeaders;
}
fclose($fp);
}
?>
<?php
$fp = fsockopen ( "www.google.nl" , 80 , $errno , $errstr , 30 ) ; if ( ! $fp ) {
echo "$errstr ($errno )<br />\n " ; } else {
$out = "GET / HTTP/1.1\r \n " ;
$out .= "Host: www.google.nl\r \n " ;
$out .= "Connection: Close\r \n \r \n " ;
$sReturn = fread ( $fp , 128 ) ; $aExploded = explode ( "\r \n \r \n " , $sReturn ) ; $sHeaders = $aExploded [ 0 ] ;
}
}
?>
Sander1993 - 30/12/2008 10:57
PHP interesse
nee werkt nog steeds niet, hierbij geeft google de headers en de content terug terwijl ik alleen de headers wil
Koen - 30/12/2008 11:36
PHP expert
<?php
$fp = fsockopen("www.sitemasters.be", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.sitemasters.be\r\n";
$out .= "Connection: Close\r\n";
$out .= "\r\n";
fwrite($fp, $out);
$sReturn = '';
while (!feof($fp)) {
$sReturn .= fread($fp, 4096);
}
$aExploded = explode("\r\n\r\n", $sReturn);
echo $aExploded[0];
fclose($fp);
}
?>
<?php
$fp = fsockopen ( "www.sitemasters.be" , 80 , $errno , $errstr , 30 ) ; if ( ! $fp ) {
echo "$errstr ($errno )<br />\n " ; } else {
$out = "GET / HTTP/1.1\r \n " ;
$out .= "Host: www.sitemasters.be\r \n " ;
$out .= "Connection: Close\r \n " ;
$out .= "\r \n " ;
$sReturn = '' ;
$sReturn .= fread ( $fp , 4096 ) ; }
$aExploded = explode ( "\r \n \r \n " , $sReturn ) ; }
?>
Werkt
Sander1993 - 30/12/2008 12:01
PHP interesse
idd, thnx
Gesponsorde links
Dit onderwerp is gesloten .