2 q996811572 q996811572 于 2016.03.01 20:30 提问

httpclient 模拟登录邮箱

httpclient 模拟登录邮箱 登录邮箱

private static String USERNAME = "111111";
private static String PASSWORD = "222222";
private static String LOGINURL = "https://mail.qq.com";

public static void main(String[] args) 
{
    HttpClient httpClient = new HttpClient();

    PostMethod authpost = new PostMethod(LOGINURL);

    NameValuePair user = new NameValuePair("user",USERNAME);
    NameValuePair pwd = new NameValuePair("password",PASSWORD);
    NameValuePair username = new NameValuePair("username",USERNAME + "@qq.com");
    authpost.setRequestBody(new NameValuePair[]{user,pwd,username});
    int status = httpClient.executeMethod(authpost);
    System.out.println(authpost.getResponseBodyAsString());
    System.out.println(status);

            为什么登录不上去,是因为没有设置登录页面参数吗?

4个回答

caozhy
caozhy   Ds   Rxr 2016.03.01 20:33

用fiddler看下,返回了什么,对照浏览器如何提交的分析你的问题。另外无论如何你的代码都不对,如果你希望登录成功,那么起码应该接收来自服务器的cookie,并且在以后的访问的时候带上,才能保持登录状态。

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.01 21:38

执行有返回值吗,请求返回的Status值是多少呢?打印下异常信息看看服务器端返回的是什么东西。

q996811572
q996811572 200
接近 2 年之前 回复
q996811572
q996811572 200
接近 2 年之前 回复
q996811572
q996811572 200
接近 2 年之前 回复
q996811572
q996811572 200
接近 2 年之前 回复
q996811572
q996811572 200
接近 2 年之前 回复
q996811572
q996811572 200
接近 2 年之前 回复
q996811572
q996811572 200
接近 2 年之前 回复
q996811572
q996811572 200
接近 2 年之前 回复
q996811572
q996811572 200
接近 2 年之前 回复
q996811572
q996811572 200
接近 2 年之前 回复
q996811572
q996811572 200
接近 2 年之前 回复
q996811572
q996811572 200
接近 2 年之前 回复
q996811572
q996811572 200
接近 2 年之前 回复
q996811572
q996811572 200
接近 2 年之前 回复
q996811572
q996811572 200
接近 2 年之前 回复
rui888
rui888   Ds   Rxr 2016.03.02 09:07

肯定是有什么东西遗漏了你抓包分析浏览器请求需要那些东西。你的代码页要加上这些参数。

q996811572
q996811572   2016.03.02 11:09

status 返回200

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!