当前位置:首页 » 密码管理 » 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包可以直接发请求

热点内容
20149月二级c语言 发布:2025-05-16 16:22:29 浏览:961
恐怖月亮服务器ip 发布:2025-05-16 16:18:42 浏览:723
java核心技术1 发布:2025-05-16 16:18:01 浏览:729
安卓汽车盲区辅助哪里下载 发布:2025-05-16 16:02:53 浏览:362
码尚编程 发布:2025-05-16 15:55:39 浏览:446
android全局字体 发布:2025-05-16 15:53:19 浏览:574
jsp在服务器编译先转译成什么 发布:2025-05-16 15:41:36 浏览:982
svn服务器编译 发布:2025-05-16 15:41:26 浏览:966
照片被涂鸦擦掉如何看到信息安卓 发布:2025-05-16 15:36:43 浏览:181
手机怎么配置内存大 发布:2025-05-16 15:18:06 浏览:166