Obtuviste un error al usar curl con github api

Estoy usando el curl para get información de los repositorys de git. El command usado es:

curl https://api.github.com/search/repositories?page=2&q=language:javascript&sort=stars&order=desc 

Sin embargo, lo que obtuve es:

 { "message": "Validation Failed", "errors": [ { "resource": "Search", "field": "q", "code": "missing" } ], "documentation_url": "https://developer.github.com/v3/search" } 

Si escribo directamente la URL en el browser, obtengo la salida JSON correcta, pero cuando uso curl falla. ¿Alguna solución?

En la documentation de curl, en realidad solo se muestran en uno de sus ejemplos:

Obtenga la página principal de un server web IPv6: curl "http://[2001:1890:1112:1::20]/"

"" están obligados a rodear su URL (debido a su complejidad). El command debería ser así:

 curl "https://api.github.com/search/repositories?page=2&q=language:javascript&sort=stars&order=desc" 

Si desea que se descargue a un file, puede usar la opción -O :

 curl -O "https://api.github.com/search/repositories?page=2&q=language:javascript&sort=stars&order=desc" 

Si solo está usando la command-line de Windows , puede ejecutar el winssl de winssl desde este zip (necesita la versión SSL para https ).

Sin embargo, noté su label javascript en su pregunta, por lo que si planea usar curl en el lado del cliente, el complemento curl.js puede ser útil para usted.

En el lado del server, si está utilizando PHP puede usar este código:

 <? $url="https://api.github.com/search/repositories?page=2&q=language:javascript&sort=stars&order=desc"; // Initiate curl $ch = curl_init(); // Disable SSL verification //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Will return the response, if false it print the response curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Set the url curl_setopt($ch, CURLOPT_URL,$url); // Execute $result=curl_exec($ch); // Closing curl_close($ch); // Will dump a beauty json :3 var_dump(json_decode($result, true)); ?>