Autor Beitrag
Saladin
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Do 18.07.02 12:06 
Also ich will eine Datei mittels http (ähnlich Javascript) an ein Script im
Netz übergeben. Ich kann keine FTP Verbindung oder dergleichen öffnen, da nur der Http Port frei verfügbar ist.

Mit Javascript wird die Datei auf den Server geladen(Temp Verzeichnis) und dort dann vom Script entweder bearbeitet, indem es z.B. irgendwohin anders kopiert wird, oder sonstiges damit angestellt.


Hat jemand ne IDEE?

MfG
Saladin

p.s. Handelt sich nicht um einen Trojaner!!!!!!
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Do 18.07.02 13:13 
Du könntest eine Script auf dem Server aufrufen und dem dann die Parameter von der Datei übergeben. Ich galube aber nicht, dass das funktioniert, weil das Script ja keinen Plattenzugriff auf der Festplatte hat, um dort eine Datei zu laden. Naja, wer weiss, obs geht. War ja nur ne Idee :mrgreen:

_________________
Viele Grüße
Jakob
Saladin Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Do 18.07.02 13:42 
Titel: Da hast du Recht
Das wird wohl nicht klappen! Aber troztdem danke!!
:?
MfG
Saladin
Savage
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110



BeitragVerfasst: Do 18.07.02 14:36 
Wenn du über HTTP senden möchtest, kannst du auch eine ClientSocket - Kompo verwenden. Du musst dich halt nur mit den Clienten richtig beim WebServer einlogen (richtige Adresse und Port verwenden) bzw. einen Proxy ansteuern.

Du musst dich allerdings etwas mit der HTTP Syntax auskennen bzw. dir diesen Syntax etwas aneignen.

Im HTTP header, der immer gesendet wird, gibt es Befehle wie POST, GET,..., der dem Server darauf vorbereitet, dass du eine File senden möchtest bzw etwas haben willst.

Zur Not kannst du dir ja auch mal anschauen, was der IE oder Netscape so zum Server senden, dadurch erkennst du ersteinmal die Strucktur des Headers und kannst einige Teile davon verwenden, um deine File korrekt übers HTTP zu senden.

Viel Glück
mfg
Savage
Saladin Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Do 18.07.02 16:11 
Oh danke!
ganau den Hinweis habe ich gesucht.
Werde mich mal darum kümmern in den nächsten Tagen!

Also dann an die Arbeit!

MfG
Saladin
M4EiB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 41



BeitragVerfasst: Fr 19.07.02 01:53 
du kannsts es dir noch einfacher machen, indem du anstatt den clientsocket-komponenten gleich die indy-http-komponente benutzt. bei der nmhttp-komponente kann man glaub ich nur einen string posten und die ganze datei in einen string laden, lieber nicht.
nur noch ne frage: ist das script auf dem server von dir, oder von nem anderen(z.b. upload script bei nem webspace-service oder so?)
Saladin Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Fr 19.07.02 08:31 
Titel: Von mir
Das Script ist von mir. Mein Programm lädt Bilder auf ein vorher definierte Website hoch (Die vom User), und soll so eine Art "Meine Bilder" im Web für Dummis werden.
Du wählst die Bilder aus die du haben willst, und schickst diese dann direkt auf deine Website. Ohne weiteres Umständliches FTP oder blöde Web Uploads machen zu müssen!
Du musst nur einmal das Script auf deine Website setzen und dir die URL merken, um Sie im Programm anzugeben.

Aber es ist natürlich möglich das Programm so umzuschreiben, das
es das upload script bei nem anderen bedienen kann.


MfG
Saladin
M4EiB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 41



BeitragVerfasst: Fr 19.07.02 16:23 
also hier mal ein quellcode-beispiel, wie der upload aussehen sollte(wurde aber nicht getestet!!).
ist das gleiche wie ein upload per ie, kannst ein scipt also standartmässig schreiben.

filename ist der pfad der datei
url die url zum script
ausblenden volle Höhe Delphi-Quelltext
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:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
var
 filest:tfilestream;
 post:tstringstream;
 tag,s:string;
 buffer:tstringstream;
 http:tidhttp;
begin


  http:=tidhttp.create(nil);
  buffer:=tstringstream.create('');
  post:=tstringstream.create('');
  filest := tfilestream.create(filename,fmOpenRead,fmShareDenyNone);

  tag := '7d292f3201ec';

  //der part muss für jede variable die mitübergeben werden soll wiederholt werden
  //'varname' ist der name und 'inhalt' der inhalt (naja logisch oder)
  s:=s+'-----------------------------'+tag+#13#10;
  s:=s+'Content-Disposition: form-data; name="varname"'+#13#10+#13#10;

  s:=s+'inhalt'+#13#10;
  //--------------


  //namepic ist der name mit dem die datei im phpscript identifiziert wird
  //( in html: es ist der name des <input type=file ... im uploadform)
  //filename ist der pfad zur datei
  s:=s+'-----------------------------'+tag+#13#10;
  s:=s+'Content-Disposition: form-data; name="namepic"; filename='+filename+#13#10;
  //folgendes für ein belibiege datei
  s:=s+'Content-Type: application/octet-stream'+#13#10+#13#10;
  //oder für ein image da geht das obere aber auch, also lieber immer das oben
  //s:=s+'Content-Type: image/pjpeg'+#13#10+#13#10;


  post.writestring(s);
  post.copyfrom(filest,0);

  //hier können auch noch variablen übergeben werden!

  s:='-----------------------------'+tag+'--'+#13#10#13#10;
  post.writestring(s);



  http.request.ContentType := 'multipart/form-data; boundary=---------------------------'+tag;
  http.request.Contentlength := post.size;

  

  try
   http.post(url,post,buffer)
  except
  end;

  //im buffer wird die antwort des scripts gespeichert, falls du das analysieren willst


  http.free;
  buffer.free;
  post.free;
  filest.free;
 

end;


Moderiert von user profile iconKlabautermann: Code- durch Delphi-Tags ersetzt
Saladin Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Fr 19.07.02 18:21 
Titel: OK
Ein herzliches Dankeschön schon mal von mir, auch wenn es nicht klappen sollte (was ich nicht glaube). :lol:

MfG
Saladin