aC Skrevet 19. mai 2007 Del Skrevet 19. mai 2007 (endret) Som topic sier har jeg noen problemer med å bruke http's POST med java. Tanken bak det hele er å lære seg litt men nå står jeg fast. Koden som er blitt brukt ser du under og det den skal gjøre er: Logge seg på der http://aspnet.cs.sbu.edu/networks/piggy.html også poste på den siden, la oss si "fisk" eller noe i feltet på den siden, også submitte, men jeg får det ikke til. KODE import java.util.*; import java.io.*; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Post { private static String _searchBase = "http://aspnet.cs.sbu.edu/networks/piggy.html"; public static String run() { PrintWriter wr; String result = null; HttpURLConnection huc = null; try { String data = URLEncoder.encode("phrase", "UTF-8") + "=" + URLEncoder.encode("loco", "UTF-8"); URL url = new URL(_searchBase); huc = (HttpURLConnection)url.openConnection(); huc.setRequestMethod("POST"); huc.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; JVM)"); huc.setRequestProperty("Pragma", "no-cache"); huc.setDoOutput(true); huc.connect(); huc.setFollowRedirects(true); wr = new PrintWriter(new BufferedWriter(new OutputStreamWriter(huc.getOutputStream(), "ISO-8859-1")), true); System.out.println(huc.getResponseMessage()); wr.println(data); wr.println("\r\n"); wr.flush(); BufferedReader reader = new BufferedReader(new InputStreamReader(huc.getInputStream())); String line = null; while ((line = reader.readLine()) != null) { System.out.println(line); } } catch (Exception e) { return e.toString(); } finally { if(huc != null) { huc.disconnect(); } } if (result!=null) {} System.out.println(result); return result; } } hvis jeg har med wr.println("et eller annet"); så kommer ikke man aldri til while løkken, mens hvis den er ut kommentert og man ikke poster noe kommer url'en Kom gjerne med noen konstruktive tilbakemeldinger på hvordan dette skal gjøres og hva jeg gjør feil. Lagde et lite login script html ting, eller viser bare dataene på samme måte som url'en over, men jeg får fortsatt ikke til å poste noe, nå kommer samme html side opp, akkuratt som om jeg aldri postet noe som helst (i java programmet altså) http://www.lousius.org/skole/topp.php Endret 8. juni 2007 av aC Lenke til kommentar
aC Skrevet 8. juni 2007 Forfatter Del Skrevet 8. juni 2007 LØST! Problemet var å poste til feil url. Man skal alltid sende variablene til responssiden og ikke form siden. Mer info finnes på denne linken http://www.java.no/forum/posts/list/10690.page Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå