50,527
社区成员
发帖
与我相关
我的任务
分享
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.params.CookiePolicy;
import org.apache.http.client.params.HttpClientParams;
import org.apache.http.cookie.Cookie;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
public class TestDiscuz {
private static String DiscuzLoginURL = "http://www.discuz.net/member.php?mod=logging&action=login&loginsubmit=yes";
private static String userName = "rosewj";
private static String password = "860111";
private static HttpResponse response;
public static void main(String[] args) {
DefaultHttpClient httpclient = new DefaultHttpClient();
// HttpClientParams.setCookiePolicy(httpclient.getParams(),CookiePolicy.BROWSER_COMPATIBILITY); 这行如果不注释的话一些特殊字符的cookie就会丢失
try{
HttpPost httpost = new HttpPost(DiscuzLoginURL);
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("password", password));
nvps.add(new BasicNameValuePair("username", userName));
nvps.add(new BasicNameValuePair("loginsubmit", "1"));
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
response = httpclient.execute(httpost);
HttpEntity entity = response.getEntity();
if (entity == null)
throw new Exception("登录失败了");
List<Cookie> cookies = httpclient.getCookieStore().getCookies();// 获得登录后的Cookie列表
System.out.println("httpclient cookie _____________");
for(int i=0;i<cookies.size();i++) {
System.out.println(cookies.get(i).getName());
System.out.println(cookies.get(i).getValue());
}
System.out.println("httpclient cookie _____________");
entity.consumeContent();
HttpPost httpost1 = new HttpPost("http://www.discuz.net/forum.php?mod=post&action=reply&fid=175&tid=1822402&extra=page%3D1&replysubmit=yes&infloat=yes&handlekey=fastpost&inajax=1");
List<NameValuePair> nvps1 = new ArrayList<NameValuePair>();
nvps1.add(new BasicNameValuePair("addfeed", "1"));
nvps1.add(new BasicNameValuePair("usesig", "0"));
nvps1.add(new BasicNameValuePair("formhash", "3e090e74"));
nvps1.add(new BasicNameValuePair("subject", ""));
nvps1.add(new BasicNameValuePair("message", "test213123213123123"));
httpost1.setEntity(new UrlEncodedFormEntity(nvps1, HTTP.UTF_8));
response = httpclient.execute(httpost1);
List<Cookie> cookies1 = httpclient.getCookieStore().getCookies();// 获得登录后的Cookie列表
System.out.println("httpclient cookie _____________");
for(int i=0;i<cookies1.size();i++) {
System.out.println(cookies1.get(i).getName());
System.out.println(cookies1.get(i).getValue());
}
System.out.println("httpclient cookie _____________");
// 打印响应信息
String result =response.getStatusLine().toString();
System.out.println(result);
HttpEntity entity1 = response.getEntity();
entity1.consumeContent();
// entity1.consumeContent();
}catch(Exception e) {
}
}
}