Flucht kaufmännisches und in URL -
Ich bin versucht, senden Sie eine GET-Nachricht, die strings enthält, mit kaufmännisches und kann nicht herausfinden, wie zu entkommen, das kaufmännische und-Zeichen in der URL.
Beispiel:
http://www.example.com?candy_name=M&M
result => candy_name = M
Ich auch versucht:
http://www.example.com?candy_name=M\&M
result => candy_name = M\\
Ich bin mit URLs manuell, so brauche ich nur die richtigen Zeichen.
Kann ich nicht alle Bibliotheken. Wie kann es getan werden?
InformationsquelleAutor tomermes | 2013-05-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie Prozent-codiert:
Also in deinem Fall, die URL würde wie folgt Aussehen:
was meinst du mit "funktioniert nicht"?
Wenn ich die Stelle & %26, seine immer noch die gleichen Fehler zeigen--
A potentially dangerous Request.Path value was detected from the client (&).
Das ist ein problem mit Ihrem code, nicht die Prozent-Kodierung. Stellen Sie eine Frage.
stellen Sie sicher, dass Sie ersetzen "&" durch ein "%26". Finden Sie unter code::: NSString *message = @"Hello Jack & Jill"; message = [Nachricht stringByReplacingOccurrencesOfString:@"&" withString:@"%26"]; message = [Nachricht stringByAppendingString:@" "]; message = [Nachricht stringByAddingPercentEscapesUsingencoding: NSUTF8StringEncoding];
InformationsquelleAutor Blender
Diese nicht gelten nur um das kaufmännische und-Zeichen in URLs, sondern für alle reservierte Zeichen. Von denen einige einschließen:
Die Idee ist die gleiche wie die Codierung einer
&
in einem HTML-Dokument, aber der Kontext hat sich geändert, um innerhalb der URI, die zudem innerhalb des HTML-Dokuments. Also, die Prozent-Kodierung verhindert, dass Probleme mit der Analyse innerhalb der beiden Kontexte.Den Ort, wo das ist praktisch, eine Menge, wenn Sie benötigen, um eine URL in einem anderen URL. Zum Beispiel, wenn Sie wollen, posten von Statusmeldungen auf Twitter:
Es gibt viele reservierte Zeichen in meinem Tweet, nämlich
?'():/
, so I kodiert den gesamten Wert derstatus
URL-parameter. Auch dies ist hilfreich bei Verwendungmailto:
links, eine Nachricht oder Thema, da braucht man zum codieren derbody
undsubject
Parameter für Zeilenumbrüche beibehalten, kaufmännische und-Zeichen, etc. intakt.http://en.wikipedia.org/wiki/Percent-encoding#Percent-encoding_reserved_characters
! ' ( ) *
sind nicht URL-codiertencodeURIComponent
.es gibt eine php-Funktion urlencode löst dieses problem : die Verwendung von $escapedfilename=urlencode($filename);
InformationsquelleAutor Alex W
Versuchen Sie es mit
http://www.example.org?candy_name=M%26M
.Siehe auch diese Referenz und einige weitere Informationen auf Wikipedia.
InformationsquelleAutor gkalpak
Können Sie verwenden Sie das Zeichen % 'escape' - Zeichen, die nicht in URLs erlaubt. Siehe [RFC 1738].
Eine Tabelle der ASCII-Werte auf http://www.asciitable.com/.
Sehen Sie
&
ist 26 hexadezimal - so müssen Sie M%26M.InformationsquelleAutor Peter Hull
Können Sie vielmehr übergeben Sie Ihre Argumente mit Hilfe dieser alsterrunde-Funktion, so dass Sie nicht haben, um sorgen über die übergabe von Sonderzeichen.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent
InformationsquelleAutor nikhilmeth
Wenn Sie nicht verwenden können, irgendwelche Bibliotheken zu Kodieren Wert,
http://www.urlencoder.org/ oder http://www.urlencode-urldecode.com/ oder ...
Geben Sie einfach Ihren Wert "M&M", nicht die vollständige URL 😉
InformationsquelleAutor Oliver
Dies kann helfen, wenn jemand will es in PHP
InformationsquelleAutor Mohamed Ramadan