Java - Uploader

FlashIT

Quest-Mob
Mitglied seit
21.09.2006
Beiträge
77
Reaktionspunkte
0
Kommentare
2
Buffs erhalten
3
Hallo zusammen...

Ich bin gerade dabei mit Hilfe des manuellen Uploads der Seite einen kleinen "JavaUploader" zu schreiben, welcher eben auch auf Mac und Linux läuft, da halt Bedarf besteht ;-)

Nun hab ich folgendes Problem und werd einfach nicht schlau daraus!

Mit Hilfe von Ethereal hab ich mal mitgeschnitten was beim Upload eigentlich passiert:
Code:
POST /world-of-warcraft/blasc/manueller-upload.html HTTP/1.1
Host: www.buffed.de
[...]
Referer: http://www.buffed.de/world-of-warcraft/blasc/manueller-upload.html
Content-Type: multipart/form-data; boundary=AaB03x

--AaB03x
Content-Disposition: form-data; name="lua_file"; filename="BLASCProfiler.lua"
Content-Type: application/octet-stream


BLASCProfile = {
[...]
}

BLASC_upload = 1

BLASC_Version = "0.13.0"

--AaB03x
Content-Disposition: form-data; name="tx_blasc_pi1[upload]"

Senden
--AaB03x--
Eigentlich also ein ganz normaler multi-form Upload auf eine cgi...

Genau das hab ich nun mal zum Test in eine Textdatei gepackt und Java eben diesen Upload simulieren lassen, aber schon DA gibt es ein Problem, welches ich eben nicht versteh?!(normal nutz ich diese Technik vielerseits und eigentlich klappt dies auch!)

Code:
// Verbindung aufbauen...
Socket socket = new Socket();
socket.connect(new InetSocketAddress( "www.buffed.de", 80));

// Die Datei einlesen und an den Server senden....
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));
try {
 BufferedReader br = new BufferedReader(new FileReader("./upload.txt"));
 String temp;
 while ((temp = br.readLine()) != null) {
   wr.write(temp + "\r\n");
 }
  br.close();	
 }  catch (FileNotFoundException e){}
 wr.flush();

// Die Datei einlesen und an den Server senden....
[... noch die Antwort vom Server holen ...]

Die Antwort ist komischerweise Folgende:
Code:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>501 Method Not Implemented</TITLE>
</HEAD><BODY>
<H1>Method Not Implemented</H1>
--AaB03x to / not supported.<P>
Invalid method in request --AaB03x<P>
</BODY></HTML>

Hat jemand eine Ahnung wieso blasc.de so antwortet, obwohl ich haargenau das Gleiche mache wie der eigentliche Upload???
Ich werd einfach nicht schlau daraus...


Hilfe wäre echt toll, ich habe vor diesen Uploader auch Opensource dann anzubieten wenn er einmal grundlegend läuft!


MfG
Björn
 
Ich kenn mich mit Java leider nicht aus aber anscheinend weiß der Webserver nicht was er mit den Daten anfangen soll.

"POST /world-of-warcraft/blasc/manueller-upload.html HTTP/1.1"

Die "POST" Angabe fehlt in deinem Skript so wie ich das sehe komplett, du musst diese Option aber angeben um eine Datei an den Server zu schicken.
 
Die "POST" Angabe fehlt in deinem Skript so wie ich das sehe komplett, du musst diese Option aber angeben um eine Datei an den Server zu schicken.

dochdoch, die ist im ersten Quote. ganz oben wie es auch sein muss...
Der erste Quote ist ja das, was auf Port 80 vom Client zum Server geschickt wird.
 
dochdoch, die ist im ersten Quote. ganz oben wie es auch sein muss...
Der erste Quote ist ja das, was auf Port 80 vom Client zum Server geschickt wird.
müsste also in der upload.txt zuoberst stehen, korrekt?
 
Zuletzt bearbeitet von einem Moderator:
Hallo zusammen...

Ich bin gerade dabei mit Hilfe des manuellen Uploads der Seite einen kleinen "JavaUploader" zu schreiben, welcher eben auch auf Mac und Linux läuft, da halt Bedarf besteht ;-)
....
MfG
Björn

Da Mac / Linux User keine exe Dateien nutzen können, gibts auch eine Version für diese.
http://www.buffed.de/BLASCProfiler.zip
Nur muß man als Mac / Linux User immer einen Manuellen Upload machen,
auf der www.Buffed.de.de Seite.
Als Mac User musst du die BLASCProfilerConfig.lua natürlich manuel bearbeiten.

Manuelle Einstellungen: (entsprechend deiner Chars halt)
Um "Bankchars" im Blasc anzuzeigen, kann man vollgendes eintragen:

BLASC_CHARS = {"Charname@Realmname","Charname@Realmname"};

Wenn man keine Bankchars anzeigen will( damit keiner rein schauen kann ) kann man das so stehen lassen,
BLASC_CHARS = {}; und muß nix eintragen.


Struktur der BLASC_Config:

BLASC_SaveLocs = 1;
BLASC_DEBUG = nil;
BLASC_Level = 2;
BLASC_CHARS = {};

BLASC_DoScanRecipe = nil;
BLASC_DoScanTalents = 1;
BLASC_DoScanEquipment = 1;
BLASC_DoScanBank = 1;
BLASC_DoScanInventory = nil;
BLASC_DoScanGold = nil;
BLASC_DoScanBasic = 1;


Die BLASC_DoScan... Einstellungen entsprechend deinen Vorstellungen einstellen. 1 = aktiv, nil = aus.

Und der Link zu dem Profiler findest du auch immer in meiner Signatur.
blub.gif
yo.gif
clap.gif
 
Zuletzt bearbeitet von einem Moderator:
Das Ganze hat sich ja nun soweit erledigt, danke dennoch allen Antworten:


Der Upload haute schlussendlich mit einem Kniff hin (Problem war, dass blasc.de beim Upload-Form die action="" setzt und man damit beim POST-Fake so richtig probleme bekommt...)

Schlussendlich resultierte das Ganze ja in dem Client siehe
http://www.buffed.de/forum/index.php?showt...view=getnewpost

Somit ist nun Windows/Mac & Linux problemlos OHNE lästiges TextDatei-Editieren einbezogen...
 
Zurück