[問題] HTTP POST

看板java作者 (傑尼龜)時間15年前 (2011/01/25 17:46), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/2 (看更多)
我想寫一個可以上傳程式碼到online judge的程式 我的想法是,先和伺服器連線後(用socket) 用post指令傳帳號密碼和程式碼上去 我剛把code改了一下,我發現我是要對action的網頁做post 所以現在可以成功登入了,但是卻無法上傳程式碼 他傳回來的訊息是,please login first 這要怎麼處理阿?? import java.net.*; import java.io.*; public class Address { public static void main(String argv[]) { try { InetAddress address = InetAddress.getByName(argv[0]); BufferedWriter wr; BufferedReader rd; try { Socket skt = new Socket(address,80); wr = new BufferedWriter(new OutputStreamWriter(skt.getOutputStream())); rd = new BufferedReader(new InputStreamReader(skt.getInputStream())); String line; String url = "/login"; String host = "poj.org"; String type = "application/x-www-form-urlencoded"; String content = "user_id1=&password1="; wr.write("POST "+url+" HTTP/1.1\r\n"); wr.write("Host: "+host+"\r\n"); wr.write("Content-Type: "+type+"\r\n"); wr.write("Content-Length: "+content.length()+"\r\n"); wr.write("\r\n"); wr.write(content+"\r\n"); wr.flush(); url = "/submit"; content = "problem_id=1000&language=1&source=1234564864fjefjfejkoqjkejl;jf"; wr.write("POST "+url+" HTTP/1.1\r\n"); wr.write("Host: "+host+"\r\n"); wr.write("Content-Type: "+type+"\r\n"); wr.write("Content-Length: "+content.length()+"\r\n"); wr.write("\r\n"); wr.write(content+"\r\n"); wr.flush(); while((line = rd.readLine())!=null) System.out.println(line); skt.close(); } catch(IOException e) { e.printStackTrace(); } } catch(UnknownHostException e) { e.printStackTrace(); } } } ※ 編輯: CMturtle 來自: 61.225.84.30 (01/25 20:39)

01/25 20:50, , 1F
是要送到 uva quick submit (未登入)那頁嗎?
01/25 20:50, 1F

01/25 20:58, , 2F
我是想傳到pku online judge 上面耶>"<
01/25 20:58, 2F

01/25 22:46, , 3F
我只是想確認送出之前需要先登入嗎 :p
01/25 22:46, 3F

01/26 08:49, , 4F
SERVLET JSP
01/26 08:49, 4F
文章代碼(AID): #1DFfmEsa (java)
討論串 (同標題文章)
文章代碼(AID): #1DFfmEsa (java)