utilizzo le funzioni socket per effettuare delle richieste a un servizio xml, inserendo l'accept gzip mi viene restiuito un resposnse compresso, come posso fare per leggerlo correttamente? cio, decomprimerlo?
ecco la part edello script interessata:
Codice PHP:
$address = URLAPI;
$url = 'Xml';
$service_port = "80";
$socket = socket_create (AF_INET, SOCK_STREAM, 0);
if ($socket < 0){
print "Could not create socket";
die();
}
if (!@socket_connect ($socket, $address, $service_port)) {}
$length = strlen($request);
// $in = "POST /$url HTTP/1.0\r\nContent-Type: text/xml\r\n"."HOST:$address\r\nAccept-Encoding: gzip\r\nContent-Length: $length\r\n\r\n$request";
$in = "POST /$url HTTP/1.0\r\nContent-Type: text/xml\r\n"."HOST:$address\r\nContent-Length: $length\r\n\r\n$request";
$out = '';
$esitosocket=socket_write($socket, $in, strlen ($in));
if ($esitosocket===false) {
header("location:/");
exit();
}
while ($out = @socket_read ($socket, 32768)) {
$temp = $temp."$out";
}