¿Alguien sabe de una buena biblioteca Scala o Java que pueda solucionar problemas comunes en URIs malformados, como contener caracteres que deberían ser escapados pero no lo son?Biblioteca Scala o Java para reparar URIs con formato incorrecto
Respuesta
He probado algunas bibliotecas, incluida la ahora heredada URIUtil de HTTPClient sin sentir que encontré ninguna solución viable. Por lo general, ya he tenido bastante éxito con este tipo de construcción java.net.URI sin embargo:
/**
* Tries to construct an url by breaking it up into its smallest elements
* and encode each component individually using the full URI constructor:
*
* foo://example.com:8042/over/there?name=ferret#nose
* \_/ \______________/\_________/ \_________/ \__/
* | | | | |
* scheme authority path query fragment
*/
public URI parseUrl(String s) throws Exception {
URL u = new URL(s);
return new URI(
u.getProtocol(),
u.getAuthority(),
u.getPath(),
u.getQuery(),
u.getRef());
}
que se puede utilizar junto con la siguiente rutina. Descodifica repetidamente un URL
hasta que la cadena descodificada no cambie, lo que puede ser útil contra, por ejemplo, doble codificación. Tenga en cuenta, que sea sencillo, esta muestra no dispone de ninguna prueba de fallos, etc.
public String urlDecode(String url, String encoding) throws UnsupportedEncodingException, IllegalArgumentException {
String result = URLDecoder.decode(url, encoding);
return result.equals(url) ? result : urlDecode(result, encoding);
}
Yo aconsejaría contra el uso de URIs java.net.URLEncoder
ciento de codificación. A pesar del nombre, no es ideal para la codificación de direcciones URL, ya que no siguen el estándar rfc3986 y en su lugar codifica al formato application/x-www-form-urlencoded
MIME (read more here)
Para codificar los URI en Scala que recomendaría la clase Uri de aspersión http. scala-uri es una alternativa (descargo de responsabilidad: soy el autor).
- 1. PHP Reparar el texto incorrecto
- 2. Biblioteca de compilación para Scala y Java
- 3. Biblioteca ePub para java o android
- 4. biblioteca de gráficos para scala
- 5. Scala - Java =? (O Clojure -? = Java)
- 6. install_name_tool informes objeto con formato incorrecto
- 7. Java concatenar para construir cadena o formato
- 8. Java o Scala para nuevos proyectos greenfield?
- 9. Limitaciones de Java Generics o uso incorrecto?
- 10. Procesamiento de datos de texto con formato incorrecto con aprendizaje automático o NLP
- 11. ¿Hay una buena biblioteca de cifrado GnuPG para Java/Scala?
- 12. Biblioteca de Java para embellecer/formato de código
- 13. ¿Reescribir o reparar?
- 14. Java: biblioteca que realiza salidas de registro con buen formato
- 15. Uso de una biblioteca Java con palabras reservadas de Scala
- 16. Biblioteca FinTS o HBCI para Java
- 17. System.BadImageFormatException Se intentó cargar un programa con un formato incorrecto
- 18. Analizador de fecha incorrecto con SimpleDateFormat, Java
- 19. biblioteca numérica de Scala
- 20. ¿Existe una biblioteca Scala (o Java) bien tipada para consumir las API web JSON?
- 21. ¿Cómo puedo analizar robustamente CSV con formato incorrecto?
- 22. Formato numérico en Scala?
- 23. ¿Biblioteca Javascript para generar el formato iCal?
- 24. Combinación de dos Uris relativos
- 25. ¿Cómo se maneja el HTML con formato incorrecto en Perl?
- 26. ¿Qué biblioteca es la mejor para MongoDB con Scala?
- 27. Biblioteca de álgebra lineal para Scala?
- 28. en busca de la biblioteca de Java para trabajar con el formato PSD
- 29. Biblioteca de serialización binaria Scala
- 30. Biblioteca de bip para Java?