Estoy tratando de enviar un mensaje GET que contiene cadenas con símbolos y no puedo entender cómo escapar del símbolo en la URL.
Ejemplo:
http://www.example.com?candy_name=M&M
result => candy_name = M
También probé:
http://www.example.com?candy_name=M\&M
result => candy_name = M\\
Estoy usando URLs manualmente, así que solo necesito los caracteres correctos.
No puedo usar ninguna biblioteca. ¿Cómo puede hacerse esto?
http
url
get
query-string
query-parameters
tomermes
fuente
fuente
A potentially dangerous Request.Path value was detected from the client (&).
Esto no solo se aplica al ampersand en las URL, sino a todos los caracteres reservados . Algunos de los cuales incluyen:
La idea es la misma que codificar un
&
en un documento HTML, pero el contexto ha cambiado para estar dentro del URI, además de estar dentro del documento HTML. Entonces, la codificación porcentual evita problemas con el análisis dentro de ambos contextos.El lugar donde esto es útil es cuando necesitas poner una URL dentro de otra URL. Por ejemplo, si desea publicar un estado en Twitter:
Hay muchos caracteres reservados en mi Tweet, es decir
?'():/
, codifiqué todo el valor delstatus
parámetro URL. Esto también es útil cuando se usanmailto:
enlaces que tienen un cuerpo o asunto de mensaje, porque necesita codificar los parámetrosbody
ysubject
para mantener intactos los saltos de línea, los símbolos de unión, etc.http://en.wikipedia.org/wiki/Percent-encoding#Percent-encoding_reserved_characters
fuente
! ' ( ) *
no están codificadas con URLencodeURIComponent
.Intenta usar
http://www.example.org?candy_name=M%26M
.Vea también esta referencia y más información en Wikipedia .
fuente
Puede usar el carácter% para 'escapar' caracteres que no están permitidos en las URL. Ver [RFC 1738].
Una tabla de valores ASCII en http://www.asciitable.com/ .
Puede ver que
&
es 26 en hexadecimal, por lo que necesita M% 26M.fuente
Esto puede ayudar si alguien lo quiere en PHP
fuente
Si no puede usar ninguna biblioteca para codificar el valor, http://www.urlencoder.org/ o http://www.urlencode-urldecode.com/ o ...
Simplemente ingrese su valor "M&M", no la URL completa ;-)
fuente
Me gustaría agregar un comentario menor sobre la solución Blender.
Puedes hacer lo siguiente:
Eso da salida:
Lo mejor de esto es que no solo funciona para y para cualquier personaje especial.
Por ejemplo:
Salidas:
fuente
Puede pasar sus argumentos utilizando esta función encodeURIComponent para que no tenga que preocuparse por pasar caracteres especiales.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent
fuente