import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
public class setHeaders {
public static void main(String[] args) throws IOException {
String cookieVal = getCookie();
while(true) {
postHtml(cookieVal);
//break;
}
}
public static String getCookie() throws IOException {
String url = "http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Login/login";
URL thisurl = new URL(url);
HttpURLConnection UC = (HttpURLConnection) thisurl.openConnection();
UC.addRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0");
UC.setInstanceFollowRedirects(false);
UC.addRequestProperty("Connection","keep-alive");
UC.setDoOutput(true);
UC.setDoInput(true);
UC.setRequestMethod("POST");
OutputStreamWriter out = null;
out = new OutputStreamWriter(UC.getOutputStream());
out.write("user_name=6431687826&password=6431687826");//6431687826
out.flush();
String cookieVal = UC.getHeaderField("Set-Cookie");
cookieVal = cookieVal.split(";")[0];
out.close();
return cookieVal;
}
private static void postHtml(String cookieVal) throws IOException {
// TODO Auto-generated method stub
System.out.println(cookieVal);
URL xx = new URL("http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Solution/submitsolution/pid/1000.html");
HttpURLConnection con = (HttpURLConnection)xx.openConnection();
con.setRequestProperty("Cookie",cookieVal);
con.addRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0");
con.setDoOutput(true);
con.setDoInput(true);
OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream());
out.write("pid=1000&lang=g%2B%2B&code=%23include+%3Cstdio.h%3E%0D%0A%23include+%3Ciostream%3E%0D%0Ausing+namespace+std%3B%0D%0A%0D%0Aint+main%28%29%0D%0A%7B%0D%0A+++++int+a%2Cb%3B%0D%0A+++++cin%3E%3Ea%3E%3Eb%3B%0D%0A+++++cout%3C%3Ca%2Bb%3C%3Cendl%3B%0D%0A%7D%0D%0A");
out.flush();
out.close();
//不知为什么不读取提交不成功
try {
InputStream xxin = con.getInputStream();
byte[] bt = new byte[1024];
int num = 0;
String html = "";
while((num = xxin.read(bt))!=-1) {
html += new String(bt,0,num,"utf-8");
}
}catch (Exception e) {
// TODO: handle exception
}
//System.out.println(html);
}
private static void getHtml(String url) throws IOException {
// TODO Auto-generated method stub
URL thisUrl = new URL(url);
URLConnection UC = thisUrl.openConnection();
UC.addRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0");
UC.connect();
InputStream in = UC.getInputStream();
BufferedInputStream buf = new BufferedInputStream(in);
byte[] bt = new byte[1024];
String html = "";
int num;
while((num = buf.read(bt))!=-1) {
html += new String(bt,0,num,"utf-8");
}
System.out.println(html);
}
}
java爬虫step2--模拟登陆和提交--oj代码自动提交
最新推荐文章于 2020-05-20 19:38:28 发布