㈠ java中如何在類中判斷客戶端操作系統是32位的還是64位的操作系統
System.getProperty("os.arch");
可以通過數值判斷
我的是64位的操作系統,返回值是:amd64
㈡ java判斷設備是android還是ios
1、通常一個http請求會帶上用戶設備信息,這個信息被存儲在請求頭的use-agent里
2、可通過類似
StringuserAgent=request.getHeader("user-agent");
這樣的方法獲取到這個use-agent
use-agent字元串中的內容類似:
Mozilla/5.0(Linux;U;Android3.0;en-us;XoomBuild/HRI39)
AppleWebKit/534.13(KHTML,likeGecko)Version/4.0Safari/534.13
這些信息「足以」判斷是安卓還是IOS。
㈢ java 導出文件並獲取文件路徑的問題
在ie6中對於<input type="file" />通過obj.value是可以獲取客戶端選擇文件的全路徑的,但是到ie7就只能獲取文件名,這對於onchange事件立即顯示圖片會有問題,可以用js方法解決
具體代碼如下:
<html>
<head>
<title>get file input full path</title>
<script language='javascript'>
function getFullPath(obj)
{
if(obj)
{
//ie
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
obj.select();
return document.selection.createRange().text;
}
//firefox
else if(window.navigator.userAgent.indexOf("Firefox")>=1)
{
if(obj.files)
{
return obj.files.item(0).getAsDataURL();
}
return obj.value;
}
return obj.value;
}
}
</script>
</head>
<body>
<input type="file" onchange="document.getElementById('img').src=getFullPath(this);" />
<img id="img" />
</body>
</html>
㈣ 如何用JAVA爬取AJAX載入後的頁面
普通的爬取是抓不了js的之後的數據的 可以用phantomjs或者htmlUnit實現
附上phantomjs示列代碼
package cn.wang.utils;
import java.util.Random;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.CookieManager;
import com.gargoylesoftware.htmlunit.;
import com.gargoylesoftware.htmlunit.WebClient;
public class htmlUnitUtils {
static WebClient webClient = null;
static Random random = new Random();
static{
//1.創建對象
webClient = new WebClient(BrowserVersion.CHROME);
//2.設置參數
//啟動js
webClient.getOptions().setJavaScriptEnabled(true);
//關閉css渲染
webClient.getOptions().setCssEnabled(false);
//啟動重定向
webClient.getOptions().setRedirectEnabled(true);
//設置連接超時時間 ,這里是10S。如果為0,則無限期等待
webClient.getOptions().setTimeout(1000 * 15);
//啟動cookie管理
webClient.setCookieManager(new CookieManager());
//啟動ajax代理
webClient.setAjaxController(new ());
//js運行時錯誤,是否拋出異常
webClient.getOptions().(false);
//設置瀏覽器請求信息
webClient.addRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
webClient.addRequestHeader("Accept-Encoding", "gzip, deflate");
webClient.addRequestHeader("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2");
webClient.addRequestHeader("Connection", "keep-alive");
webClient.addRequestHeader("Upgrade-Insecure-Requests", "1");
}
public static void runJs(String url){
try {
webClient.addRequestHeader("User-Agent", Constant.useragents[random.nextInt(Constant.useragents.length)]);
//等待js渲染執行 waitime等待時間(ms)
webClient.waitForBackgroundJavaScript(1000 * 10);
//3.獲取頁面
webClient.getPage(url);
} catch (Exception e) {
e.printStackTrace();
} finally {
if(webClient != null){
webClient.close();
}
}
}
public static void main(String[] args) {
runJs("http://www.gou.hk/");
System.setProperty("phantomjs.binary.path", "D:\\works\\tool\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe");
}
}
㈤ java 判斷訪問是pc還是移動端
以前收集的:
//js判斷當前使用的系統
functiongetSystem(){
varos=(function(){
varUserAgent=navigator.userAgent.toLowerCase();
return{
isIpad:/ipad/.test(UserAgent),
isiphone:/iphoneos/.test(UserAgent),
isAndroid:/android/.test(UserAgent),
isWindowsCe:/windowsce/.test(UserAgent),
isWindowsMobile:/windowsmobile/.test(UserAgent),
isWin2K:/windowsnt5.0/.test(UserAgent),
isXP:/windowsnt5.1/.test(UserAgent),
isVista:/windowsnt6.0/.test(UserAgent),
isWin7:/windowsnt6.1/.test(UserAgent),
isWin8:/windowsnt6.2/.test(UserAgent),
isWin81:/windowsnt6.3/.test(UserAgent)
};
}());
if(os.isXP==true){
alert('您當前使用的是XP系統,為避免影響正常使用,建議更換谷歌瀏覽器訪問。');
}
}
㈥ java web 如何防止 用戶繞過js驗證,直接地址欄提交表單或自己編寫html頁面,提交數據到伺服器
一個簡單的方法是,在用戶獲取html頁面的時候,後台生成一個(MD5)字串(假設為k),並且返回給前專端。屬
提交表單的時候,順帶也把這個k一起提交。
在處理提交的地方(後台),去校驗這個k,看看是不是自己生成的。
如果用戶偽造http請求,那麼自然是不帶k的,或者k是錯誤的。
還可以判斷http請求頭,比如UserAgent之類的,用於 輔 助 判斷請求的合法性。
㈦ java 分析ua獲取瀏覽器信息嗎
1,從request里可以獲取用抄戶瀏覽器類型,
具體操作見例子:
Enumeration e = request.getHeaderNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = request.getHeader(name);
System.out.println(name + " = " + value);
}
這樣可以遍歷從客戶端傳來的所有頭信息:
request.getHeaders("User-Agent");
獲取User-Agent (客戶端的類型,一般用來區分不同的瀏覽器)。
2,獲取操作系統信息
操作系統信息 String osName = System.getProperty("os.name" );
操作系統版本 String osVersion=System.getProperty("os.version");