Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Antonio Jorge

[Resolvido] Erro com curl com acentos

Recommended Posts

Pessoal será que vcs podem me ajudar a resolver esse problema?

 

Vejam esse código:

 

<?

$busca = curl("http://search.4shared.com/network/searchXml.jsp?&sortOrder=1&searchmode=3&searchExtention=mp3&q=axé;


echo $busca;

?>

 

$busca retorna o seguinte erro:

 

HTTP/1.0 400 Bad request Cache-Control: no-cache Connection: close Content-Type: text/html

400 Bad request

Your browser sent an invalid request.

 

Mas se eu abrir direto no navegador abre normal, e se eu tirar o acento do axé o erro some e a url funciona com o curl.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa sim está faltando porque cortei o código para simplificar a dúvida, mas tem sim as aspas e o parenteses.

 

Estou usando uma função curl, veja:

 

<?php


function curl($a,$b,$c,$d,$e){
  $ch = curl_init();
     curl_setopt_array($ch,
        array(
           CURLOPT_URL => $a,
    CURLOPT_RETURNTRANSFER => 1,
           CURLOPT_SSL_VERIFYPEER => 0,
           CURLOPT_COOKIE => $b,
           CURLOPT_HEADER => $c,
           CURLOPT_NOBODY => $e,
           CURLOPT_CUSTOMREQUEST => ($d)?"POST":"GET",
           CURLOPT_POSTFIELDS => $d
        )
     );
  $ex = curl_exec($ch);
    return $ex;
curl_close($ch);
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código correto é assim:

 

$bk = str_replace("+","%20",$_REQUEST['search']);

$bk = str_replace(" ","%20",$_REQUEST['search']);

// echo $bk;

$busca = curl("http://search.4shared.com/network/searchXml.jsp?&sortOrder=1&searchmode=3&searchExtention=mp3&q=".$bk,null,true,null,false);


echo $busca;

 

Se buscarmos "axé" da erro bad request, se buscarmos "axe" sem acento funciona norma. O echo $bk coloquei para teste mostra exatamente o termo pesquisado, ou seja se eu pesquisa "axé" vai mostrar exatamente "axé".

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.