0
java.net
中有什么内置的解析HTTP请求的请求行吗?http header的解析请求行
例如:
CONNECT google.com:443 HTTP/1.1
在这种情况下,我想解析host
和port
。
java.net
中有什么内置的解析HTTP请求的请求行吗?http header的解析请求行
例如:
CONNECT google.com:443 HTTP/1.1
在这种情况下,我想解析host
和port
。
我使用
String request = "CONNECT google.com:443 HTTP/1.1";
String authority = request.split(" ")[0];
String[] tokens = request.split(":");
String host = tokens[0];
int port = (tokens.length == 2)? Integer.parseInt(tokens[1]) : 443;
InetSocketAddress address = InetSocketAddress(host, port);
您可以使用java.net.URL类的getHost()或getPort()或getDefaultPort()方法。
如需进一步信息,您可以检查here
谢谢你穿上它自己。到底传递给构造函数的是什么? '新网址(“CONNECT google.com:443 HTTP/1.1”)'? – Razer 2013-05-09 17:19:02
我不确定,因为我从来没有尝试过这种方式,但我不认为这会产生任何问题。如果您只需要主机名和端口新的URL(“google.com:443”),则可以通过这种方式执行此操作。有关更多实施信息,请参阅oracle文档[http://docs.oracle.com/javase/tutorial /networking/urls/urlInfo.html](here)。 – gusainhimanshu 2013-05-09 17:37:28