java中有基於webkit的模擬瀏覽器的類嗎

知道PhantomJS 的話,SlimerJS也可來以試試源哦~
下面一段復制自網路:
它(SlimerJS)是類似 PhantomJS 的一個工具,除了它運行在 Gecko 上而不是Webkit。SlimerJS 提供幾乎和 PhantomJS 相同的 API,高度兼容 PhantomJS。SlimerJS 不僅是 PhantomJS 的一個克隆,還包含額外的功能。

⑵ java UrlConnection 模擬瀏覽器請求出錯java.io.IOException:Server returned HTTP response code: 500

500是伺服器端出錯

你有設置頭部信息嗎
conn.setRequestProperty("ContentType","text/xml;charset=utf-8");

我的代碼
HttpURLConnection conn = (HttpURLConnection)new URL(url).openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestProperty("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3");
conn.setRequestProperty("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
conn.setRequestProperty("Accept-Language","zh-cn,zh;q=0.5");
InputStream is = conn.getInputStream();

⑶ Java 的模擬瀏覽器有哪些好用的

這個不能匹配到ajax請求的數據的鏈接後,直接用java模擬請求這個鏈接獲取數據么。。非要整那麼復雜。。

⑷ java程序可以模擬指定瀏覽器發送請求嗎,怎麼做

其實模擬指定瀏覽器
就是模擬指定的User-agent
當你用httpclient發送請求時
設置header的user-agent為你瀏覽器的就可以了
希望能幫助到你

⑸ java socket編寫模擬瀏覽器,像百度,goole為關鍵字,該怎麼寫

寫瀏覽器涉及到HTTP協議。
用SOCKET實現比較難的,特別是你這種不懂協議的。
通過socket向網路伺服器發送get命令,返回資源顯示。大致是這樣過程

⑹ 怎麼解決關於java模擬ie 訪問web網站呢誰知道嗎

用到java.net.下的包,URL,HttpConnection等

⑺ java 如何模擬瀏覽器調用rest api介面

packagecom.demo;
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;

importjavax.xml.bind.DatatypeConverter;

importorg.apache.http.HttpResponse;
importorg.apache.http.client.methods.HttpGet;
importorg.apache.http.impl.client.DefaultHttpClient;
publicclassrestTest{
publicstaticvoidmain(String[]args){
try{
DefaultHttpClientClient=newDefaultHttpClient();

HttpGethttpGet=newHttpGet("你的地址");
Stringencoding=DatatypeConverter.printBase64Binary("admin:admin".getBytes("UTF-8"));

httpGet.setHeader("Authorization","Basic"+encoding);

HttpResponseresponse=Client.execute(httpGet);

System.out.println("response="+response);

BufferedReaderbreader=newBufferedReader(newInputStreamReader(response.getEntity().getContent()));
StringBuilderresponseString=newStringBuilder();
Stringline="";
while((line=breader.readLine())!=null){
responseString.append(line);
}
breader.close();
StringrepsonseStr=responseString.toString();

System.out.println("repsonseStr="+repsonseStr);

}catch(IOExceptione){
e.printStackTrace();
}

}
}

⑻ java 中模仿瀏覽器訪問一個網址可以得到頁面上內容 而用瀏覽器訪問地址卻出現一個重定向

HTTP狀態碼中3xx表示需要進一步操作才能完成請求。

300 (多種選擇) 針對請求,伺服器可執行多種操作。 伺服器可根據請求者 (user agent) 選擇一項操作,或提供操作列表供請求者選擇。

301 (永久移動) 請求的網頁已永久移動到新位置。 伺服器返回此響應(對 GET 或 HEAD 請求的響應)時,會自動將請求者轉到新位置。

302 (臨時移動) 伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求。

303 (查看其他位置) 請求者應當對不同的位置使用單獨的 GET 請求來檢索響應時,伺服器返回此代碼。

304 (未修改) 自從上次請求後,請求的網頁未修改過。 伺服器返回此響應時,不會返回網頁內容。

305 (使用代理) 請求者只能使用代理訪問請求的網頁。 如果伺服器返回此響應,還表示請求者應使用代理。

307 (臨時重定向) 伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求。

在java中,使用HttpURLConnection訪問網站,可通過 setFollowRedirects或setInstanceFollowRedirects來控制是否應該自動執行 HTTP 重定向。

瀏覽器中應該也有類似的選項

⑼ 怎麼用java模擬瀏覽器提交html頁面的表單數據

HttpClient模擬請求如下
HttpClienthttpclient=newDefaultHttpClient();//打開瀏覽器
HttpPosthttpPost=newHttpPost("www.xxx.xxx");//輸入網址

List<NameValuePair>nvps=newArrayList<NameValuePair>();
nvps.add(newBasicNameValuePair("userName","123"));
nvps.add(newBasicNameValuePair("password","123"));//封裝表單
httpPost.setEntity(newUrlEncodedFormEntity(nvps,"utf-8"));//將參數傳入post方法中
HttpResponseresponse=httpclient.execute(httpPost);//執行post
HttpEntityentity=response.getEntity();//獲取響應數據
Stringresult=EntityUtils.toString(entity);//將響應數據轉成字元串
需要導入jar包
純手工打字,請點贊哈


⑽ java 怎麼模擬瀏覽器登陸網站

可以用 HttpClient 教程請網路