當前位置:首頁 » 密碼管理 » java模擬瀏覽器訪問網頁

java模擬瀏覽器訪問網頁

發布時間: 2022-07-05 04:03:41

java模擬瀏覽器訪問https怎麼做

URL.openConnection
轉成

HttpsURLConnection

⑵ java調用瀏覽器進入百度並且登入百度賬戶,怎麼實現

方法有兩種:
1)調用本機安裝的瀏覽器,模擬用戶正常登錄操作(會顯示瀏覽器)
2)調用HttpClient包,這個只是後台發送請求,不會有顯示界面。

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

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

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

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

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

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

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

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

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

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

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

⑷ 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 怎麼模擬瀏覽器登陸網站

可以用 HttpClient 教程請網路

⑹ java實現socks5代理功能的客戶端,模擬瀏覽器進行HTTP POST提交

額。。。
我就看看。。。記得在學JAVA的時候老師說過。。但我忘了。。
不要意思啊。。。我回去看看書吧。。。找到了就告訴你 ^__^

⑺ 如何用java實現登陸網站--不需打開瀏覽器

public static void loginBai() {
URL url = null;
HttpURLConnection httpurlconnection = null;
try {
url = new URL("http://www..com/");
httpurlconnection = (HttpURLConnection) url.openConnection();
httpurlconnection.setRequestProperty("User-Agent",
"Internet Explorer");
httpurlconnection.setRequestProperty("Host", "www..com");
httpurlconnection.connect();

String cookie0 = httpurlconnection.getHeaderField("Set-Cookie");

System.out.println(cookie0);//列印出cookie
httpurlconnection.disconnect();
// String cookie0 =
// "BAIDUID=:FG=1;BDSTAT=;
// BDUSE=deleted";
url = new URL("http://passport..com/?login");
String strPost = "username=xxxxxx&password=yyyyyyy&mem_pass=on";
httpurlconnection = (HttpURLConnection) url.openConnection();
httpurlconnection.setFollowRedirects(true);
httpurlconnection.setInstanceFollowRedirects(true);
httpurlconnection.setDoOutput(true); // 需要向伺服器寫數據
httpurlconnection.setDoInput(true); //
httpurlconnection.setUseCaches(false); // 獲得伺服器最新的信息
httpurlconnection.setAllowUserInteraction(false);
httpurlconnection.setRequestMethod("POST");
httpurlconnection
.addRequestProperty(
"Accept",
"image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-silverlight, */*");
httpurlconnection
.setRequestProperty("Referer",
"http://passport..com/?login&tpl=mn&u=http%3A//www..com/");
httpurlconnection.setRequestProperty("Accept-Language", "zh-cn");
httpurlconnection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
httpurlconnection.setRequestProperty("Accept-Encoding",
"gzip, deflate");
httpurlconnection
.setRequestProperty(
"User-Agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Foxy/1; .NET CLR 2.0.50727;MEGAUPLOAD 1.0)");
httpurlconnection.setRequestProperty("Host", "passport..com");
httpurlconnection.setRequestProperty("Content-Length", strPost
.length()
+ "");
httpurlconnection.setRequestProperty("Connection", "Keep-Alive");
httpurlconnection.setRequestProperty("Cache-Control", "no-cache");
httpurlconnection.setRequestProperty("Cookie", cookie0);
httpurlconnection.getOutputStream().write(strPost.getBytes());
httpurlconnection.getOutputStream().flush();
httpurlconnection.getOutputStream().close();
httpurlconnection.connect();
int code = httpurlconnection.getResponseCode();
System.out.println("code " + code);
String cookie1 = httpurlconnection.getHeaderField("Set-Cookie");
System.out.print(cookie0 + "; " + cookie1);
httpurlconnection.disconnect();
url = new URL("http://www..com/");
httpurlconnection = (HttpURLConnection) url.openConnection();
httpurlconnection.setRequestProperty("User-Agent",
"Internet Explorer");
httpurlconnection.setRequestProperty("Host", "www..com");
httpurlconnection.setRequestProperty("Cookie", cookie0 + "; "
+ cookie1);
httpurlconnection.connect();
InputStream urlStream = httpurlconnection.getInputStream();
BufferedInputStream buff = new BufferedInputStream(urlStream);
Reader r = new InputStreamReader(buff, "gbk");
BufferedReader br = new BufferedReader(r);
StringBuffer strHtml = new StringBuffer("");
String strLine = null;
while ((strLine = br.readLine()) != null) {
strHtml.append(strLine + "\r\n");
}
System.out.print(strHtml.toString());
} catch (Exception e) {
e.printStackTrace();
} finally {
if (httpurlconnection != null)
httpurlconnection.disconnect();
}
}

呵呵,改了下程序中錯誤的地方。學習了,原來這樣也可以。
以前只知道可以這樣做,還從來沒有花過心思去做過。
閱讀了些代碼,真是獲益匪淺啊。

程序可以運行了,用戶名和密碼改為你的帳戶就可以直接運行了。可以使用,但不能一直使用啊,如果用多了網路給你個驗證碼,就是神仙也不行了。

⑻ 用java怎麼打開瀏覽器並打開指定的網頁

如果你說的是讓他自動打開可以用robot類模擬滑鼠單擊右鍵雙擊等動作,還可以模擬輸入,可以玩玩。
如果要在網頁做復雜操作可以用swt做一個瀏覽器,可以控制他執行網站里的腳本,這個比較難點,沒有很多例子供你學習

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

httpclient就行了,給你個取IP的例子好了

import java.io.IOException;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;

public class IPHelper {

public String getSourceText(String ip) throws IOException {
String text = null;
HttpClient client = new HttpClient();
client.getParams().setContentCharset("GBK");
PostMethod post = new PostMethod("http://www.ip138.com/ips8.asp");
NameValuePair[] data = { new NameValuePair("action", "2"),
new NameValuePair("ip", ip) };
post.setRequestBody(data);
client.executeMethod(post);
text = post.getResponseBodyAsString();
post.releaseConnection();
return text;
}

public static void main(String[] args) throws IOException {
IPHelper h=new IPHelper();
System.out.println(h.getSourceText("192.169.0.1"));
}
}

這個是Post的,還有Get的,看你的form是怎麼樣的了。

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

用Apache的HttpClient包可以直接發請求

熱點內容
windowsandroid編譯 發布:2025-05-16 12:02:23 瀏覽:333
為什麼華為的系統是安卓 發布:2025-05-16 12:02:11 瀏覽:127
app怎麼提供伺服器地址 發布:2025-05-16 11:48:27 瀏覽:397
雙面警長第一季ftp 發布:2025-05-16 11:41:20 瀏覽:664
php取數組第一個 發布:2025-05-16 11:30:58 瀏覽:423
解調演算法 發布:2025-05-16 11:21:09 瀏覽:136
python密碼暴力破解 發布:2025-05-16 11:13:28 瀏覽:592
倒角刀編程 發布:2025-05-16 11:12:55 瀏覽:350
資料庫的酸性 發布:2025-05-16 11:03:17 瀏覽:124
phpmysql長連接 發布:2025-05-16 10:51:50 瀏覽:734