ERLEDIGT
NEIN
NEIN
ANTWORTEN
0
0
ZUGRIFFE
554
554
EMPFEHLEN
-
Hallo liebe Forumgemeinde.
Ich lese hier immer sehr gerne mit und habe auch schon viele Antworten auf meine Fragen hier gefunden (sehr oft von Thomas Darimont - du hast meinen vollen Respekt!), nur leider komme ich nun nicht weiter und alles bereits im Web gefundene hilft mir nicht weiter.
Das Problem: Ich will regelmäßig meine Backups auf einen One-Klick-Hoster (share-online.biz) hochladen. Dort gibt es zu dem Upload auch eine API. Demnach funktioniert der Upload über POST und ist in zwei Teile geteilt. Der erste Teil klappt prima:
Danach steht dann in den Variablen server und session:Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
try { //Parameter POST String data = URLEncoder.encode("username", "UTF-8") + "=" + URLEncoder.encode(user, "UTF-8") + "&" + URLEncoder.encode("password", "UTF-8") + "=" + URLEncoder.encode(pass, "UTF-8"); //Send data URL url = new URL("http://www.share-online.biz/upv3_session.php"); URLConnection conn = url.openConnection(); conn.setDoOutput(true); OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); wr.write(data); wr.flush(); // Get the response BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); String temp = rd.readLine(); session = temp.split(";")[0]; server = "http://" + temp.split(";")[1]; wr.close(); rd.close(); } catch (MalformedURLException e) { System.out.println("Share-Online-Session-URL falsch."); } catch (UnsupportedEncodingException e) { System.out.println("Kann username und password nicht encoden."); } catch (IOException e) { }
server = dl51-1.share-online.biz/upv3.php
session = GW63P9DEC
Damit kommt man dann auch zum zweiten Teil, bei dem man über POST die anfrage an den Server sendet:
Ergibt dann folgende Ausgabe: Answer: *** EXCEPTION md5 not fetchable - 08-19-2010, 6:08 pm ***Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
try{ int groesse = (int) new File(folder + "/" + file).length(); String data = URLEncoder.encode("username", "UTF-8") + "=" + URLEncoder.encode(user, "UTF-8") + "&" + URLEncoder.encode("password", "UTF-8") + "=" + URLEncoder.encode(pass, "UTF-8") + "&" + URLEncoder.encode("upload_session", "UTF-8") + "=" + URLEncoder.encode(session, "UTF-8") + "&" + URLEncoder.encode("chunk_no", "UTF-8") + "=" + URLEncoder.encode("1", "UTF-8") + "&" + URLEncoder.encode("chunk_number", "UTF-8") + "=" + URLEncoder.encode("1", "UTF-8") + "&" + URLEncoder.encode("filesize", "UTF-8") + "=" + groesse + "&" + URLEncoder.encode("fn", "UTF-8") + "=" + URLEncoder.encode(folder + "/" + file, "UTF-8") + "&" + URLEncoder.encode("finalize", "UTF-8") + "=" + URLEncoder.encode("1", "UTF-8"); // Send data URL url = new URL(server); URLConnection conn = url.openConnection(); conn.setDoOutput(true); OutputStreamWriter wr1 = new OutputStreamWriter(conn.getOutputStream()); // schreibe die Parameter wr1.write(data); wr1.flush(); StringBuffer answer = new StringBuffer(); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); answer.append(reader.readLine()); System.out.println("Answer: " + answer); wr1.close(); reader.close(); int port = 80; InetAddress addr = InetAddress.getByName(server.split("/")[2]); Socket socket = new Socket(addr, port); // File To Upload File theFile = new File(folder + "/" + file); DataInputStream fis = new DataInputStream(new BufferedInputStream(new FileInputStream(theFile))); byte[] theData = new byte[(int) theFile.length( )]; fis.readFully(theData); fis.close(); DataOutputStream raw = new DataOutputStream(socket.getOutputStream()); raw.write(theData); raw.flush( ); BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream())); String line; while ((line = rd.readLine()) != null) { System.out.println(line); } raw.close(); socket.close(); } catch (Exception e) { System.out.println(e.toString()); }
Die datei existiert und leserechte sind ausreichend gesetzt. Ich weiß leider nicht mehr weiter wie ich 1. die POST-Parameter und 2. gleichzeitig die Datei hochladen kann.
Ich hoffe ich habe mich verständlich ausgedrückt und jemand kann mir helfen.
Danke schon mal
Ähnliche Themen
-
Dateiupload via WebClient - POST-Variablen mitsenden
Von mr_floppy im Forum .NET Web und KommunikationAntworten: 1Letzter Beitrag: 28.06.10, 20:37 -
Dateiupload via POST Files hardcoden
Von Haxley im Forum PHPAntworten: 5Letzter Beitrag: 27.02.08, 20:23 -
VB6 POST-Request/DateiUpload ohne Formular
Von BlueDog im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 23.02.08, 19:12 -
Sockets über Internet!
Von realjoda im Forum .NET Web und KommunikationAntworten: 2Letzter Beitrag: 28.05.07, 00:44 -
Dateiupload mittels POST
Von Phil_adelphia im Forum PHPAntworten: 3Letzter Beitrag: 08.03.05, 14:49





Zitieren
Login





