import java.io.*;
import java.util.*;
import java.net.*;
public class WebTest {
public static void main(String[] args) {
System.out.println("beging...");
DownLoadPages("http://login.xiaonei.com/Login.do", "d:/fileDown.txt");
// visit("http://www.xiaonei.com");
System.out.println("end.");
}
public static void DownLoadPages(String urlStr, String outPath) {
int chByte = 0;
URL url = null;
HttpURLConnection httpConn = null;
InputStream in = null;
FileOutputStream out = null;
try {
String post = "email=" + URLEncoder.encode("e-mail", "UTF-8")
+ "&password=" + "password";
url = new URL(urlStr);
httpConn = (HttpURLConnection) url.openConnection();
//setInstanceFollowRedirects can then be used to set if
//redirects should be followed or not and this should be used before the
//connection is established (via getInputStream, getResponseCode, and other
//methods that result in the connection being established).
httpConn.setFollowRedirects(false);
//inorder to disable the redirects
httpConn.setInstanceFollowRedirects(false);
httpConn.setDoOutput(true);
httpConn.setDoInput(true);
httpConn.setRequestProperty("User-Agent",
"Mozilla/5.0 (compatible; MSIE 6.0; Windows NT)");
httpConn.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
//ok now, we can post it
PrintStream send = new PrintStream(httpConn.getOutputStream());
send.print(post);
send.close();
URL newURL = new URL(httpConn.getHeaderField("Location"));
System.out.println("the URL has move to "
+ httpConn.getHeaderField("Location"));
httpConn.disconnect();
// OK, now we are ready to get the cookies out of the URLConnection
String cookies = getCookies(httpConn);
System.out.println(cookies);
httpConn = (HttpURLConnection) newURL.openConnection();
httpConn.setRequestProperty("User-Agent",
"Mozilla/5.0 (compatible; MSIE 6.0; Windows NT)");
httpConn.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
httpConn.setRequestProperty("Cookie", cookies);
httpConn.setDoInput(true);
in = httpConn.getInputStream();
out = new FileOutputStream(new File(outPath));
chByte = in.read();
while (chByte != -1) {
out.write(chByte);
//System.out.println(chByte);
chByte = in.read();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static String getCookies(HttpURLConnection conn) {
StringBuffer cookies = new StringBuffer();
String headName;
for (int i = 7; (headName = conn.getHeaderField(i)) != null; i++) {
StringTokenizer st = new StringTokenizer(headName, "; ");
while (st.hasMoreTokens()) {
cookies.append(st.nextToken() + "; ");
}
}
return cookies.toString();
}
}
分享到:
相关推荐
用于基于Java HttpURLConnection类测试https代理设置的Java代码。 该代码实际上可以连接到任何URL,但仅响应https.proxyUser和https.ProxyPassword系统属性。 用法: $ java <java> -jar testwebpage.jar sherif@...
这个是我自己集成框架的时候写的一个HTTP请求的辅助类,主要是通过HttpURLConnection 来实现JAVA的HTTP请求,有的人会问、为什么有些网站发请求没问题,有些网站发请求却返回数据,在给网站发送请求的时候,请看清楚...
HttpUrlConnection 说明HttpUrlConnection
其实Java内置的HttpURLConnection很好的。HttpComponents不但复杂,而且有小问题。Java API没有内置HttpComponents是应该是有考虑的,HttpURLConnection已经可以了。 * 基于HttpURLConnection * version 1.0.0...
JAVA代码里,HttpURLConnection获取webservice的值,包含W3C解析XML节点方法
利用java进行网页的源代码获取 可以用在数据采集使用 可用于安卓平台
Java获取URL内容的,我这里只给出GET方式的,POST和其它方式的都是比较类似的。其技术要点就一下三点。 第一:创建HttpURLConnection 第二:打开URL,创建一个InputStream 第三:... java.net.HttpURLConnection l_con
Java Https请求,跳过证书,直接访问 相关jar包全有 直接下载就能调试
本资源库提供了一份完整的JAVA客户端发送POST请求的示例代码,可以帮助您快速了解如何使用JAVA客户端发送POST请求,同时也适用于其他HTTP请求类型。 我们的示例代码包括以下主要部分: 创建HTTP连接:使用Java.net...
Java API自动化测试-- 该存储库包含来自各种书籍和项目的示例代码。 随着时间的流逝,越来越多的代码将在此处上传。 除非另有说明,否则该存储库中的所有代码均应视为公共领域。 ###贡献如果您想为该存储库做出任何...
一些工具类代码块的标准代码: 异步的Get请求 异步的Post请求 Get请求,获得返回数据 向指定 URL 发送POST方法的请求 使用finally块来关闭输出流和输入流
java网络及通信、httpClient、socket通信、HttpURLConnection、java 中常用的几种网络通信方式。在此总结、希望对需要的同仁有所帮助。
4. 基于Http协议:项目使用了Java的HttpURLConnection类来实现基于Http协议的文件下载。这使得项目具有较好的通用性,可以应用于各种Http服务器和网络环境。 5. 可扩展性:项目的代码结构清晰,模块化程度高,可以...
代码如下:public class HttpHelper { //1:标准的Java接口 public static String getStringFromNet1(String param){ String result=””; try{ URL url=new URL(param); HttpURLConnection conn=...
本书有很多示例,包含了几千行可以实际工作的代码(所有代码都可以在线获得),实现了功能完整的网络客户端和服务器。无论是希望编写特殊用途的web服务器、安全的在线订单接收程序、简单的组播代理还是电子邮件...
Android Java 开发,转换Json数据,绝对可用。我写了代码范例,同时附加了通过HttpURLConnection发送Json数据的服务请求源码。
08.单点登录代码实现(一).avi 09.单点登录代码实现(二).avi 10.单点登录代码实现(三).avi 11.单点登录的流程梳理.avi 12.单点注销的流程分析.avi 13.单点登出代码实现.avi 14.单点注销的流程梳理.avi 15.CAS-配置...
java打包源码Guess_The_Logo_App 它是一个使用java.net包的基本工具HttpURLConnection通过webscrapping构建的Android应用。...此应用程序会提取网站的()源代码,并将所需的信息转换为“猜测徽标的名称”测验。
默认情况下,HTTP客户端是Java HttpUrlConnection ,JSON编组由完成。 这两个部分都可以交换为其他实现方式(请参见下文)。 examples/项目具有API的示例用法。 可以在Maven的examples/文件夹中通过命令执行该命令...
它提供了很多常用的功能,例如通用 Mapper、分页插件、代码生成器等。同时,它也遵循原生 Mybatis 的 SQL 标准,方便我们快速的进行开发。 Jsoup 是一个 Java 的 HTML 解析器,主要用于从网页中提取数据。通过 ...