Você está incluindo cabeçalhos HTTP inválidos em sua solicitação:
$header[ ] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$header[ ] = "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
Na primeira linha, a lista termina com um ,
- ou seja, um tipo de conteúdo vazio - que é a causa de 406 erros Não aceitável . A segunda linha não é sequer um cabeçalho HTTP.
Se você estava olhando para conversas HTTP do Firefox com um sniffer de pacotes, provavelmente viu algo assim:
Accept: text/xml,application/xml,application/xhtml+xml,
text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Como a segunda linha começa com espaço em branco, eles são tratados como um único cabeçalho pelo servidor. Eles também devem ser passados como um cabeçalho para enrolar:
$header[] = "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
Você pode usar o link para comparar as solicitações enviadas.