<form action="login_submit.php?rand=1615712919&backURL=http%3A%2F%2Fm.weibo.com%2F&backTitle=%D0%C2%C0%CB%CE%A2%B2%A9&vt=4&revalid=2&ns=1" method="post">
<div class="mg">
手机号/电子邮箱/会员帐号:<br/><input type="text" name="mobile" size="30" value=""/>
<br/>
密码:(<a href="login.php?backURL=http%3A%2F%2Fm.weibo.com%2F&backTitle=%D0%C2%C0%CB%CE%A2%B2%A9&vt=4&revalid=2&ns=1&pt=1">使用明文密码</a>)<br/>
<input type="password" name="password_7069" size="30" value=""/><br/>
<input type="checkbox" name="remember" checked="checked"/>记住登录状态,需支持并打开手机的cookie功能。<br/>
<input type="hidden" name="backURL" value="http://m.weibo.com/"/>
<input type="hidden" name="backTitle" value="新浪微博"/>
<input type="hidden" name="backURL" value="http://m.weibo.com/"/>
<input type="hidden" name="vk" value="7069_6c29_2038971687"/>
<input type="submit" name="submit" value="登录"/><br/>
HttpClient client = new HttpClient();
PostMethod post_method = new PostMethod("http://3g.sina.com.cn/prog/wapsite/sso/login.php?ns=1&revalid=2&backURL=http%3A%2F%2Fm.weibo.com%2F&backTitle=%D0%C2%C0%CB%CE%A2%B2%A9&vt=");
NameValuePair[] data = {
new NameValuePair("mobile", "....@sina.com"),
new NameValuePair("????", "password"),
};
post_method.setRequestBody(data);
你应该先去requst登录页面, 拿到response里面的form, 然后把密码密码填好, 然后再post给login.php吧.
...那段包含代码是你copy过来的吧. 貌似encoding设的不对.
恩,呵呵,谢谢了。代码中的encoding确实不对,Copy的时候弄错了,上面的那个应该是request的url而不是post过去的。
request登录页面后确实能拿到form里的内容,但是post的时候, password的input名字又改变了。
不知道是不是我哪里弄错了,能贴上您的Code吗?我确实对request和response这块还不是太理解。
获取密码框,虽然名字会动态生成,但是控件名和控件类型组合是唯一的啊(这个表单中只有一个密码输入框),直接获取input的type为password的输入框不行吗?
LZ能加下我的QQ吗 454651583 我遇到些问题