eXtreme
Новичок
Проблеммы при чтении из сокета
Таким кодом я получаю страничку с сервера. Проблемма вся в том, что после каждого блока данных вставляются непонятные символы. Что-то типа \n c00 \n. Что здесь не так? Откуда появляются эти лишние символы?
PHP:
function _file_get_contents($url) {
$url_parts = parse_url($url);
if (isset($url_parts['query'])) { $url_query = '?'.$url_parts['query']; } else { $url_query = ''; }
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($socket, $url_parts['host'], 80);
$in = "GET ".$url_parts['path']."$url_query HTTP/1.1\r\n";
$in .= "Host: ".$url_parts['host']."\r\n";
$in .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.02\r\n";
$in .= "Connection: Close\r\n\r\n";
socket_write($socket, $in, strlen($in));
$data = ''; $out = '';
while ($out = trim(socket_read($socket, 4096))) { $data .= $out; }
socket_close($socket);
return $data;
}
print _file_get_contents('http://www.domain.com/');
а не подскажете почему HTTP/1.1 приводило к такому эффекту?