Wieso kann ich keine url-codieren, diese URL in node.js?
$node
querystring = require('querystring')
var dict = { 'q': 'what\'s up' };
var url = 'http://google.com/?q=' + querystring.stringify(dict);
url = encodeURIComponent(url);
console.log(url);
Das Ergebnis ist dieses:
"http://google.com/?q=q=what's%20up"
Beachten Sie, wie die single-quote ist nicht korrekt codiert. Gibt es etwas falsch mit dem node.js Modul?
InformationsquelleAutor TIMEX | 2011-09-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
ist es richtig kodiert, wenn Sie dieselbe Abfrage in die google-such-Feld manuell, erhalten Sie diese Adresse:
beachten Sie, dass
&q=what's+up&
Teilsowie
encodeURIComponent
ist nicht ein Node.js Modul, sondern ist Teil der standard-javascript-Bibliothekhttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURIComponent
manuelle Problemumgehung:
Wenn Sie suchen, "What' s up" im youtube , beachten Sie, dass es verschlüsselt es.
Graph API breaks
, wie es bricht? Sie haben einige debug-msg oder so??? was den API-Aufruf verwenden Sie?siehe die youtube-Sache, ich werde hinzufügen Problemumgehung code auf meine Antwort in einer minute
InformationsquelleAutor Marek Sebera
Den
'
erlaubt ist im Klartext in der URI-query. Hier sind die entsprechenden Produktion Regeln für die URI-Abfrage gemäß RFC 3986:Wie Sie sehen können, sub-delims enthält eine nur
'
. Damit das Ergebnis gültig ist.InformationsquelleAutor Gumbo