Witam.
Od jakiego czasu próbuję uporać się z pobraniem zawartości strony cenapaliw.pl.
Zrobiłem już kilka kroków naprzód ale... utknąłem :(
Funkcja prawidłowo zwraca zawartość z np. facebook.com ale z cenapaliw.pl już nie.
A tu kod który napisałem:
function HTTPReq($url) {
$fp = fsockopen((parse_url($url,PHP_URL_SCHEME) == 'https' ? 'tcp://' : '').parse_url($url,PHP_URL_HOST), (parse_url($url,PHP_URL_SCHEME) == 'https' ? 443 : 80), $errno, $errstr, 30) or die("$errno: $errstr");
$res='';
$out="GET ".parse_url($url,PHP_URL_PATH).(parse_url($url,PHP_URL_QUERY) == '' ? '' : '?'.parse_url($url,PHP_URL_QUERY))." HTTPS/1.1\r\n";
$out.="Host: ".parse_url($url,PHP_URL_HOST)."\r\n";
$out.="User-Agent: Mozilla/5.0 Firefox/34.0.1\r\n";
$out.="Accept: */*\r\n";
$out.="Accept-Language: pl;q=0.8,en-US;q=0.5,en;q=0.3\r\n";
$out.="Connection: Close\r\n\r\n";
fwrite($fp, $out);
while(!feof($fp)) {
$res.=fgets($fp, 128);
}
fclose($fp);
$result = explode("\r\n\r\n",$res,2);
return $result;
}
Odpowiedź:
HTTP/1.1 400 Bad Request
Server: cloudflare-nginx
Date: Mon, 22 Dec 2014 12:13:43 GMT
Content-Type: text/html
Content-Length: 177
Connection: close
<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>cloudflare-nginx</center>
</body>
</html>
Macie może jakieś pomysły ?