登陆人人网的代码,测试OK

本文提供了一个使用Java实现的人人网自动登录示例程序。该程序通过发送POST请求到指定登录URL并携带用户名和密码等参数来完成登录过程。登录成功后会获取重定向地址,并读取主页内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package renren;

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.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.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;

public class Login {
	
	 private static String renRenLoginURL = "http://www.renren.com/PLogin.do";  
	 
	   private static String redirectURL = "http://www.renren.com/SysHome.do";
	   private static String userName = "**";
	   private static String password = "***";
	   private HttpResponse response;  
	    private DefaultHttpClient httpclient = new DefaultHttpClient();
	
	
	
	
	
	  public static void main(String[] args) {  
		  Login login = new Login();  
	        login.printText();  
	    }  

	  
	  private boolean login() {  
	        HttpPost httpost = new HttpPost(renRenLoginURL);  
	        // All the parameters post to the web site  
	        List<NameValuePair> nvps = new ArrayList<NameValuePair>();  
	        nvps.add(new BasicNameValuePair("origURL", redirectURL));  
	        nvps.add(new BasicNameValuePair("domain", "renren.com"));  
	        nvps.add(new BasicNameValuePair("isplogin", "true"));  
	        nvps.add(new BasicNameValuePair("formName", ""));  
	        nvps.add(new BasicNameValuePair("method", ""));  
	        nvps.add(new BasicNameValuePair("submit", "登录"));  
	        nvps.add(new BasicNameValuePair("email", userName));  
	        nvps.add(new BasicNameValuePair("password", 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) {  
	        HttpGet httpget = new HttpGet(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));  
	            }  
	        }  
	    }  
	  
	  
	  
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值