public class FormLoginDemo {
static final String LOGON_SITE = "xxx.xxx.xxx.xxx";
static final int LOGON_PORT = 8080;
public static void main(String[] args) throws Exception {
HttpClient client = new HttpClient();
// client.getHostConfiguration().setHost(LOGON_SITE, LOGON_PORT);
client.getHostConfiguration().setProxy("10.99.20.36", 8080);
// PostMethod post = new PostMethod("http://xxx.xxx.xxx:8080/hudson/j_acegi_security_check");
PostMethod post = new PostMethod("http://container.rd.francetelecom.com/login.php");
// NameValuePair name = new NameValuePair( "j_username" , "xxxx" );
// NameValuePair pass = new NameValuePair( "j_password" , "xxxxx" );
NameValuePair name = new NameValuePair("username", "xinru");
NameValuePair pass = new NameValuePair("password", "adminleng");
post.setRequestBody(new NameValuePair[] { name, pass });
int status = client.executeMethod(post);
post.releaseConnection();
// GetMethod get = new GetMethod("/xx/xxx/ohsmain/ws/xx/xxx-xx.apk");
GetMethod get = new GetMethod("http://container.rd.francetelecom.com/my_view_page.php");
client.executeMethod(get);
// InputStream in = get.getResponseBodyAsStream();
InputStream in = get.getResponseBodyAsStream();
write2File(in);
get.releaseConnection();
}
public static void write2File(String msg) throws Exception{
File file = new File("c:/a.html");
OutputStream os = new FileOutputStream(file);
os.write(msg.getBytes());
os.close();
}
public static void write2File(InputStream in) throws Exception{
// File file = new File("c:/a.apk");
File file = new File("c:/a.html");
OutputStream os = new FileOutputStream(file);
byte[] buff = new byte[4096];
int len=-1;
while((len=in.read(buff))!=-1){
os.write(buff,0,len);
}
in.close();
os.close();
}
public static InputStream getApkStream(String path){
return null;
}
}
参考资料:http://www.blogjava.net/Alpha/archive/2007/01/22/95216.html
分享到:
相关推荐
在"java httpclient 模拟登录"这个场景下,我们通常会用到HttpClient来模拟用户登录网站的过程,获取登录后的session信息,以便后续能够访问登录后才能看到的页面内容。以下将详细介绍如何使用Java HttpClient进行...
下面是一个简单的使用HttpClient登录网易相册的步骤: 1. 创建`CloseableHttpClient`实例: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); ``` 2. 创建`HttpPost`对象,并设置目标...
要使用HttpClient登录网易邮箱,我们首先要了解网易邮箱的登录接口和所需的数据格式。通常,登录接口会需要用户提供用户名(通常是邮箱地址)和密码。在HTTP POST请求中,这些数据会被封装在请求体里,以键值对的...
在实际的网页抓取任务中,通常需要处理各种HTTP状态码,解析HTML内容,甚至可能涉及登录、验证码识别等。HttpClient可以与Jsoup等HTML解析库结合使用,提取页面中的有用信息。 例如,使用Jsoup解析返回的HTML内容:...
以下是一个简单的使用HttpClient 4登录博客网站的步骤: 1. **创建HttpClient实例**:首先,我们需要创建一个`CloseableHttpClient`对象,这是HttpClient的主要入口点。我们可以使用`HttpClientBuilder`来构建它,...
这是一个经典的java爬虫例子:使用httpclient4.4登录豆瓣,发表说说 代码中即有cookie的自动管理,又有验证码的处理。 许多人只会简单的爬,但是有的网站需要登录就不会弄了,再或者有的网站有验证码也不知道如何...
通过HttpClient,开发者可以方便地创建复杂的HTTP请求,实现自动化测试、网页抓取、API调用等功能。 模拟登录通常涉及以下几个步骤: 1. **构建请求**:首先,我们需要构造一个POST请求,因为登录通常涉及到表单...
这篇博客“HttpClient4模拟登录回贴”显然探讨了如何利用HttpClient4库进行网络模拟登录以及在特定网站上发布帖子。HttpClient4适用于各种场景,如自动化测试、数据抓取等,它允许开发者构建复杂的HTTP交互逻辑。 ...
在本实例中,我们将探讨如何使用HttpClient库来模拟登录网站,获取用户信息,以及处理带有验证码的登录场景。 首先,我们需要理解HttpClient的基本使用。HttpClient的核心类包括HttpClient本身,HttpGet、HttpPost...
总之,HttpClient4是Java开发者强大的HTTP工具,通过它我们可以方便地模拟登录各种网站,包括腾讯微博。理解其工作原理和API使用方法,对于进行网络编程和自动化测试是至关重要的。在实践中,我们需要根据具体网站的...
HttpClient是一个强大的HTTP客户端API,它允许开发者模拟浏览器行为,发送HTTP请求并接收响应,这对于自动化测试、网页抓取或者在本例中的网站登录等任务非常有用。 在描述中提到的“NULL 博文链接:...
实际操作时,可能还需要考虑登录、分页、动态加载等问题,这些可以通过HttpClient设置cookie和处理重定向,或者使用Jsoup的Jsoup.connect模拟JavaScript执行来解决。 总之,HttpClient和Jsoup是Java开发者进行网页...
2. **登录和cookie管理**:处理登录过程,保存和发送cookie,以便于访问需要登录的页面。 3. **模拟浏览器行为**:设置User-Agent,处理JavaScript,支持cookies,模仿真实用户的行为。 4. **反反爬策略**:应对...
在处理需要登录和认证的网页时,HttpClient3.1 提供了支持。它允许你在发送请求前进行身份验证,通过设置`CredentialsProvider`来存储用户名和密码,并使用`PreemptiveAuthentication`策略,使得服务器在请求头中就...
它是一个强大的工具,常用于自动化任务、Web服务交互以及模拟浏览器行为,比如模拟登录网站。在这个场景中,我们将探讨如何使用HttpClient实现模拟登录操作。 首先,了解HttpClient的基本使用。HttpClient库提供了...
这个库广泛应用于各种网络编程场景,包括数据抓取、API调用、网页登录等。本文将围绕HttpClient 4.4.1和4.5.3这两个版本,深入探讨它们的特性和改进,以帮助开发者更好地理解和应用这个强大的工具。 1. HttpClient ...
- 强大的Cookie管理:提供了完善的Cookie策略,便于处理网站登录状态等。 - 自动处理重定向和重试:简化了处理网络异常的代码逻辑。 - 支持多种认证机制:包括基本认证、摘要认证、NTLM和Kerberos等。 2. **...
总之,`httpclient`库提供了一种高效且灵活的方式来模拟用户登录并携带cookie访问其他网页,这对于自动化测试、数据抓取或需要保持登录状态的Web服务来说是非常有用的。正确地理解和使用这些技术,能够帮助开发者更...
- **发送GET请求**:获取网页内容,或者获取API提供的数据。 - **发送POST请求**:提交表单数据,或者向RESTful API发送复杂的数据结构。 - **处理响应**:解析返回的HTML或JSON内容,提取所需信息。 - **设置请求头...