Quando o Google diz
Request header field is missing ':' separator.
O que eles realmente querem dizer é que o campo de cabeçalho na solicitação precisa usar um separador ':'.
Então, em vez de enviar isso:
GET /?q=cats HTTP/1.1<enter>
Host google.com<enter>
<enter>
Você precisa enviar isto:
GET /?q=cats HTTP/1.1<enter>
Host: google.com<enter>
<enter>
(observe: separando "Host" e "google.com")
Uma vez fora do caminho, você ganha um 302:
HTTP/1.0 302 Found
Location: https://www.google.co.in/?q=cats&gws_rd=cr&ei=yPPUVYeVApGzuATIkpuQCw
Na verdade, recebo um 301 na mesma solicitação:
HTTP/1.1 301 Moved Permanently
Location: https://www.google.com/?q=cats
Estas não são respostas de erro, são respostas de redirecionamento. O Google ouviu nossa solicitação e deseja que nós a solicitemos de forma diferente. No meu caso, ele me disse que eu não deveria perguntar "google.com", eu deveria perguntar "www.google.com", e eu deveria ter isso em mente para a próxima vez. No seu caso, queria que você acessasse www.google.co.in e usasse uma string de consulta diferente - presumivelmente, você está na Índia e quer que você acesse uma versão local do Google. Quanto a querer que você use uma string de consulta diferente, eles são normais, com parâmetros de string de consulta do Google (gws_rd, ei); eles estão apenas preparando sua consulta para você.
Esse é o comportamento normal do aplicativo da web. Você criou uma consulta à mão. O Web App (Google) não gostou de alguns aspectos de sua consulta e a reescreveu para ficar mais compatível com o que teria acontecido se você tivesse ido em um navegador comum e pesquisado por "gatos". Em seguida, eles entregaram essa nova URL ao seu cliente (neste caso, openssl) e disseram para ela perguntar novamente. Mas desde que você está fazendo isso manualmente, você não perguntou de novo, e ao invés disso você interpretou erroneamente como uma condição de erro.
Se eu fizer o que eles pedem e repetir minha consulta, mas com Host: www.google.com
em vez de Host: google.com
, obtenho os resultados esperados se você estivesse procurando gatos.