example - Construir URL en java
url java example (3)
Utilice OkHttp
Hay una biblioteca muy popular llamada OkHttp que ha sido protagonizada 20K veces en GitHub. Con esta biblioteca, puedes construir la url como a continuación:
import okhttp3.HttpUrl;
URL url = new HttpUrl.Builder()
.scheme("http")
.host("example.com")
.port(4567)
.addPathSegments("foldername/1234")
.addQueryParameter("abc", "xyz")
.build().url();
O simplemente puede analizar una URL:
URL url = HttpUrl.parse("http://example.com:4567/foldername/1234?abc=xyz").url();
¿Intentas construir http://IP:4567/foldername/1234?abc=xyz
. No sé mucho al respecto, pero escribí a continuación el código de la búsqueda de google:
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
public class MyUrlConstruct {
public static void main(String a[]){
try {
String protocol = "http";
String host = "IP";
int port = 4567;
String path = "foldername/1234";
URL url = new URL (protocol, host, port, path);
System.out.println(url.toString()+"?");
} catch (MalformedURLException ex) {
ex.printStackTrace();
}
}
}
Puedo crear una URL http://IP:port/foldername/1234?
. Estoy atascado en la parte de consulta. Por favor ayúdame a seguir adelante.
En términos generales que no son de Java, una URL es un tipo especializado de URI. Puede usar la clase de URI (que es más moderna que la venerable clase de URL, que ha existido desde Java 1.0) para crear un URI de manera más confiable, y puede convertirla en una URL con el método toURL de URI:
String protocol = "http";
String host = "example.com";
int port = 4567;
String path = "/foldername/1234";
String auth = null;
String fragment = null;
URI uri = new URI(protocol, auth, host, port, path, query, fragment);
URL url = uri.toURL();
Tenga en cuenta que la path
debe comenzar con una barra diagonal.
Usted puede simplemente pasar la especificación en bruto
new URL("http://IP:4567/foldername/1234?abc=xyz");
O puede tomar algo como org.apache.http.client.utils.URIBuilder
y compilarlo de manera segura con la codificación url adecuada
URIBuilder builder = new URIBuilder()
builder.setScheme("http")
builder.setHost("IP")
builder.setPath("/foldername/1234")
builder.addParameter("abc", "xyz")
URL url = builder.build().toURL()