HttpClient登陆开心网
周末沒事,研究了下HttpClient登陸kaixin網,網上文章很多,但所用HttpClient版本比較舊,將其代碼更新到最新:
?
?
package com.cicc;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.Header;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.cookie.Cookie;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
public class LoginKaixin {
?private static final String LOGON_SITE = "http://www.kaixin001.com/";
?private static final int LOGON_PORT = 80;
?
?// The HttpClient is used in one session
?private static HttpResponse response;
?private static DefaultHttpClient httpclient = new DefaultHttpClient();
?public static void main(String[] args)throws Exception {
??LoginKaixin kaixin=new LoginKaixin();
??kaixin.printText();
?}
private static String url="http://www.kaixin001.com/login/login.php";
?private boolean login() {
??HttpPost httpost = new HttpPost(url);
??// All the parameters post to the web site
??BasicNameValuePair ie = new BasicNameValuePair("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");??
??BasicNameValuePair url = new BasicNameValuePair("url", "/home/");
??BasicNameValuePair username = new BasicNameValuePair("email","xxxxx@163.com");
??BasicNameValuePair password = new BasicNameValuePair("password", "yourpassword");
??List<NameValuePair> nvps = new ArrayList<NameValuePair>();
??nvps.add(ie);
??nvps.add(url);
??nvps.add(username);
??nvps.add(password);
??try {
???httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
???response = httpclient.execute(httpost);
??} catch (Exception e) {
???e.printStackTrace();
???return false;
??} finally {
???httpost.abort();
??}
??return true;
?}
?
?private String getRedirectLocation() {
??Header locationHeader = response.getFirstHeader("Location");
??if (locationHeader == null) {
???return null;
??}
??return locationHeader.getValue();
?}
?private String getText(String redirectLocation) {
//??http://www.kaixin001.com/home/?uid=6254552
??HttpGet httpget = new HttpGet("http://www.kaixin001.com%22+redirectlocation/);
??// Create a response handler
??ResponseHandler<String> responseHandler = new BasicResponseHandler();
??String responseBody = "";
??try {
???responseBody = httpclient.execute(httpget, responseHandler);
??} catch (Exception e) {
???e.printStackTrace();
???responseBody = null;
??} finally {
???httpget.abort();
???httpclient.getConnectionManager().shutdown();
??}
??return responseBody;
?}
?public void printText() {
??if (login()) {
???String redirectLocation = getRedirectLocation();
???if (redirectLocation != null) {
????System.out.println(getText(redirectLocation));
???}
??}
?}
}
轉載于:https://www.cnblogs.com/jjj250/archive/2010/07/25/1784899.html
總結
以上是生活随笔為你收集整理的HttpClient登陆开心网的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文字记录而已!!人民币直充/兑换PayP
- 下一篇: 【转】photoshop CS2安装激活