2017-07-06 5 views
0

Fichier obtenir du contenu et CRUL ne fonctionne pas sur ce lien: http://xxx?text=I aime mon pays.File_get_content et CURL ne fonctionne pas, montrant l'erreur de HTTP/1.1 400 BAD_REQUEST

Si je mets la même URL sur le navigateur, alors cela fonctionne.

Voici mon code pour le fichier obtenir du contenu et CRUL

fichier obtenir le contenu

$result = file_get_contents("http://xxxx?text=I love my country"); 
print_r($result); 

CURL

$url = "http://xxx?text=I love my country"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_URL, $url); 
$data = curl_exec($ch); 
curl_close($ch); 
print_r(data); 

Je vérifie également le fichier obtenir le contenu sur d'autres URL comme

$result = file_get_contents("http://www.google.com/"); 

et Il fonctionne bien sur d'autres URL.

Y a-t-il un autre moyen d'obtenir du contenu et de modifier CURL pour résoudre ce problème?

+0

S'il vous plaît lire [Dans quelles circonstances j'ajouter « d'urgence » ou d'autres expressions semblables à ma question, afin d'obtenir des réponses plus rapides?] (// méta .stackoverflow.com/q/326569) - le résumé est que ce n'est pas un moyen idéal de s'adresser aux volontaires, et est probablement contre-productif pour obtenir des réponses. Merci de ne pas ajouter ceci à vos questions. – halfer

Répondre

0

Essayez ceci.

<?php 
    $result = file_get_contents(str_replace(' ','+',"http://apidemo.theysay.io/api/v1/sentiment?text=I love my country")); 
    print_r($result); 
?> 

Vous devez utiliser + ou %20 remplacer par des espaces blancs url.

Ou tout simplement utiliser les éléments suivants pour encoder url

<?php 
    $result = file_get_contents("http://apidemo.theysay.io/api/v1/sentiment?text=".urlencode("I love my country")); 
    print_r($result); 
?>