java獲取url中的
Ⅰ java 獲取url中是http還是https
先調用java.net.URL.toURI()轉成URI
再獲取java.net.URI.getScheme()
示例:
publicstaticvoidmain(String[]args)throwsMalformedURLException,URISyntaxException{
URLurl=newURL("https://github.com/venusdrogon/feilong-core");
URIuri=url.toURI();
System.out.println(uri.getScheme());
}
結果:
https
Ⅱ java如何提取url里的域名
java.net.URL 而不是 java.Net.URL
使用getHost獲取到的域名信息存在安全漏洞,例如:http://127.0.0.1\.123.cn/1.htm這個URL使用getHost得到的域名是127.0.0.1\.123.cn。
建議使用正則表達式
Ⅲ java 怎麼獲取一個url最終指向了哪裡
java中確定url指向最終是靠頁面跳轉實現的。
一、跳轉到新頁面,並且是在新窗口中打開頁面:
function openHtml()
{
//do someghing here...
window.open("xxxx.html");
}
window是一個javascript對象,可以用它的open方法,需要注意的是,如果這個頁面不是一相相對路徑,那麼要加「http://」,比如:
function openHtml()
{
window.open("http://www..com");
}
二、在本頁面窗口中跳轉:
function totest2()
{
window.location.assign("test2.html");
}
如果直接使用location.assgin()也可以,但是window.location.assign()更合理一些,當前窗口的location對象的assign()方法。
另外,location對象還有一個方法replace()也可以做頁面跳轉,它跟assign()方法的區別在於:
replace() 方法不會在 History 對象中生成一個新的紀錄。當使用該方法時,新的 URL 將覆蓋 History 對象中的當前紀錄。
Ⅳ java如何獲取網頁中的文字
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Authenticator;
import java.net.HttpURLConnection;
import java.net.PasswordAuthentication;
import java.net.URL;
import java.net.URLConnection;
import java.util.Properties;
public class URLTest {
// 一個public方法,返回字元串,錯誤則返回"error open url"
public static String getContent(String strUrl) {
try {
URL url = new URL(strUrl);
BufferedReader br = new BufferedReader(new InputStreamReader(url
.openStream()));
String s = "";
StringBuffer sb = new StringBuffer("");
while ((s = br.readLine()) != null) {
sb.append(s + "/r/n");
}
br.close();
return sb.toString();
} catch (Exception e) {
return "error open url:" + strUrl;
}
}
public static void initProxy(String host, int port, final String username,
final String password) {
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username,
new String(password).toCharArray());
}
});
System.setProperty("http.proxyType", "4");
System.setProperty("http.proxyPort", Integer.toString(port));
System.setProperty("http.proxyHost", host);
System.setProperty("http.proxySet", "true");
}
public static void main(String[] args) throws IOException {
String url = "https://www.jb51.net";
String proxy = "http://192.168.22.81";
int port = 80;
String username = "username";
String password = "password";
String curLine = "";
String content = "";
URL server = new URL(url);
initProxy(proxy, port, username, password);
HttpURLConnection connection = (HttpURLConnection) server
.openConnection();
connection.connect();
InputStream is = connection.getInputStream();
BufferedReader reader = new BufferedReader(new
InputStreamReader(is));
while ((curLine = reader.readLine()) != null) {
content = content + curLine+ "/r/n";
}
System.out.println("content= " + content);
is.close();
System.out.println(getContent(url));
}
}
Ⅳ java怎麼通過get方式獲取url的結果
您好,提問者: GET xxx HTTP/1.1首先這是固定的,如果是get方式提交的話,那麼第一行必定是這個。 可以通過readLine()讀取第一行,如下代碼: //這樣獲取的是get提交的數組,空格分割 String[] getTitle = xx.readLine().split(" +"); String g...
Ⅵ java 獲取url 中的參數請問以下代碼中的 url地址該怎麼寫
String
url
=
request.getScheme()+"://";
//請求協議
http
或
https
url+=request.getHeader("host");
//
請求伺服器
url+=request.getRequestURI();
//
工程名
if(request.getQueryString()!=null)
//判斷請求參數是否為空
url+="?"+request.getQueryString();
//
參數
Ⅶ java獲取url參數以及參數值
你去API里搜索一個,其中有一個函數是忽略大小寫的。用那個函數就可以了。
Ⅷ java 中 使用Filter過濾器 如何獲取URL中的數據,具體如下:
不知道你說的是什麼意思,你可以吧數據加在url上一起發送,在filter中用request.getParameter(「數據名稱」)獲得,request要轉為HttpServletRequest
Ⅸ java怎麼獲取url上的參數
解析url,本想用正則表達式處理,但正則表達式速度較慢。用split處理一下就可以了。
package RequestPackage;
import java.util.HashMap;
import java.util.Map;
public class CRequest {
/**
* 解析出url請求的路徑,包括頁面
* @param strURL url地址
* @return url路徑
*/
public static String UrlPage(String strURL)
{
String strPage=null;
String[] arrSplit=null;
strURL=strURL.trim().toLowerCase();
arrSplit=strURL.split("[?]");
if(strURL.length()>0)
{
if(arrSplit.length>1)
{
if(arrSplit[0]!=null)
{
strPage=arrSplit[0];
}
}
}
return strPage;
}
/**
* 去掉url中的路徑,留下請求參數部分
* @param strURL url地址
* @return url請求參數部分
*/
private static String TruncateUrlPage(String strURL)
{
String strAllParam=null;
String[] arrSplit=null;
strURL=strURL.trim().toLowerCase();
arrSplit=strURL.split("[?]");
if(strURL.length()>1)
{
if(arrSplit.length>1)
{
if(arrSplit[1]!=null)
{
strAllParam=arrSplit[1];
}
}
}
return strAllParam;
}
/**
* 解析出url參數中的鍵值對
* 如 "index.jsp?Action=del&id=123",解析出Action:del,id:123存入map中
* @param URL url地址
* @return url請求參數部分
*/
public static Map<String, String> URLRequest(String URL)
{
Map<String, String> mapRequest = new HashMap<String, String>();
String[] arrSplit=null;
String strUrlParam=TruncateUrlPage(URL);
if(strUrlParam==null)
{
return mapRequest;
}
//每個鍵值為一組 www.2cto.com
arrSplit=strUrlParam.split("[&]");
for(String strSplit:arrSplit)
{
String[] arrSplitEqual=null;
arrSplitEqual= strSplit.split("[=]");
//解析出鍵值
if(arrSplitEqual.length>1)
{
//正確解析
mapRequest.put(arrSplitEqual[0], arrSplitEqual[1]);
}
else
{
if(arrSplitEqual[0]!="")
{
//只有參數沒有值,不加入
mapRequest.put(arrSplitEqual[0], "");
}
}
}
return mapRequest;
}
}
測試類
package RequestPackage;
import java.util.Map;
public class TestCRequest {
/**用於測試CRequest類
* @param args
*/
public static void main(String[] args) {
// 請求url
String str = "index.jsp?Action=del&id=123&sort=";
//url頁面路徑
System.out.println(CRequest.UrlPage(str));
//url參數鍵值對
String strRequestKeyAndValues="";
Map<String, String> mapRequest = CRequest.URLRequest(str);
for(String strRequestKey: mapRequest.keySet()) {
String strRequestValue=mapRequest.get(strRequestKey);
strRequestKeyAndValues+="key:"+strRequestKey+",Value:"+strRequestValue+";";
}
System.out.println(strRequestKeyAndValues);
//獲取無效鍵時,輸出null
System.out.println(mapRequest.get("page"));
}
}