Trying to build . I don't know much about it but I wrote below code from searching from 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(); } } } 

I am able to build URL . I am stuck at query part. Please help me to move forward.

4

5 Answers

You can just pass raw spec

new URL(""); 

Or you can take something like org.apache.http.client.utils.URIBuilder and build it in safe manner with proper url encoding

URIBuilder builder = new URIBuilder(); builder.setScheme("http"); builder.setHost("IP"); builder.setPath("/foldername/1234"); builder.addParameter("abc", "xyz"); URL url = builder.build().toURL(); 
2

Use OkHttp

There is a very popular library named OkHttp which has been starred 20K times on GitHub. With this library, you can build the url like below:

import okhttp3.HttpUrl; URL url = new HttpUrl.Builder() .scheme("http") .host("example.com") .port(4567) .addPathSegments("foldername/1234") .addQueryParameter("abc", "xyz") .build().url(); 

Or you can simply parse an URL:

URL url = HttpUrl.parse("").url(); 
3

In general non-Java terms, a URL is a specialized type of URI. You can use the URI class (which is more modern than the venerable URL class, which has been around since Java 1.0) to create a URI more reliably, and you can convert it to a URL with the toURL method of 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(); 

Note that the path needs to start with a slash.

6

If using Spring Framework:

UriComponentsBuilder.newInstance() .scheme(scheme) .host(host) .path(path) .build() .toUri() .toURL(); 

A new UriComponentsBuilder class helps to create UriComponents instances by providing fine-grained control over all aspects of preparing a URI including construction, expansion from template variables, and encoding.

Know more:

JavaDoc:

If you happen to be using Spring already, I have found the org.springframework.web.util.UriComponentsBuilder to be quite nifty. Here is how you would use it in your case.

final URL myUrl = UriComponentsBuilder .fromHttpUrl("") .build() .toUri() .toURL();