Mailinglisten-Archive |
> Moin, moin,
Hi
> welche Moeglichkeiten habe ich bei der Nutzung von fopen() oder
> fsockopen()
> HTTP-Browser-Informationen (User-Agent) zu senden ?
> Wo ist dies ggf. dokumentiert ?
das habe ich auch schon ziemlich lang probiert rauszukriegen, anscheinend geht
das nicht.
ich hab mir dann mit folgendem Code-Schnipsel beholfen:
function getUrl($url,$user_agent = "Irgendein StandardUserAgentString")
{
$lines = array();
$header = array();
$temp = parse_url($url);
$fp = fsockopen ($temp['host'], 80, $errno, $errstr, 60);
if ($fp) {
socket_set_timeout($fp,60,0);
$host = $temp['host'];
$uri = $temp['path'].(strlen($temp['query'])>0?'?'.$temp['query']:'');
//echo $host.'#'.$uri."\n";
$in = "GET $uri HTTP/1.0\r\n";
$in .= "Connection: close\r\n";
$in .= "Host: $host\r\n";
$in .= "Accept: */*\r\n";
$in .= "User-Agent: $user_agent\r\n";
$in .= "\r\n";
fputs ($fp, $in);
$separator = 0;
while (!feof($fp)) {
$line = fgets ($fp,65535);
if (strlen(trim($line)) == 0) {
$separator = 1;
} else {
if ($separator == 1) {
$lines[] = $line;
} else {
$header[] = $line;
}
}
}
fclose ($fp);
}
return array('header'=>$header,'lines'=>$lines);
}
Allerdings ist das Teil noch nicht komplett gedebuggt, es funktioniert, hat
aber manchmal timeouts ...
> Gruss / GW
Gruss
Andreas Lange
--
Haas Media GmbH, Agentur für moderne Medien
Rehbockstraße 25, 30167 Hannover
Tel: (05 11) 270 38 70, Fax: (05 11) 270 38 69
http://www.haas-media.de/
PGP FP: 4204 C703 2D73 58DA F75B C1F2 E524 6949
php::bar PHP Wiki - Listenarchive