问题描述
尝试构建 http://IP:4567/foldername/1234?abc = xyz
.我对此了解不多,但是我从Google搜索中写下了以下代码:
Trying to build http://IP:4567/foldername/1234?abc=xyz
. 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();
}
}
}
我能够构建URL http://IP:port/foldername/1234?
.我被困在查询部分.请帮助我前进.
I am able to build URL http://IP:port/foldername/1234?
. I am stuck at query part. Please help me to move forward.
推荐答案
在一般的非Java术语中,URL是URI的一种特殊类型.您可以使用 URI 类(比古老的URL类(自Java 1.0开始就存在)更现代,可以更可靠地创建URI,您可以使用 toURL URI方法:
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.
这篇关于用Java构建URL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!