AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi WinSocket Upload Daten per Formular empfangen (über Browser)
Thema durchsuchen
Ansicht
Themen-Optionen

WinSocket Upload Daten per Formular empfangen (über Browser)

Offene Frage von "loetmann"
Ein Thema von loetmann · begonnen am 6. Sep 2007 · letzter Beitrag vom 9. Sep 2007
 
loetmann

Registriert seit: 21. Dez 2003
Ort: Rostock
33 Beiträge
 
Delphi 3 Standard
 
#1

WinSocket Upload Daten per Formular empfangen (über Browser)

  Alt 6. Sep 2007, 20:42
Hallo,

ich habe mir einen Web-Server gebaut, mit WinSockets (D3). Anfordern und Senden von Daten funktioniert.
Er läuft als ServerType:=stNonBlocking.

Auch das Auslesen vom Formularen klappt im Test, sprich normale Formulardaten werden entgegengenommen.

Formular auf der html-Seite
Code:
 <form action="formulardata.fd" method="get">
<input type="text" name="input1" value=""> ... </form>
Die Daten empfange ich über den Links selbst im OnClientRead:

Socket.ReceiveText:
Code:
GET /formulardata.fd?input1=Input+test+1+%F6%E4%FC%DF+%F6%E4%FC%DF&pass=passworttest&sel1=1&text1=+%F6%E4%FC%DF%0D%0A+Test%0D%0A+%F6%E4%FC%DF%0D%0A+%D6%C4%DC%0D%0A+&sendbutt=senden HTTP/1.1
Accept: */*
Referer: [url]http://h2o/formular.htm[/url]
Accept-Language: de
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Host: h2o
Connection: Keep-Alive

das gleiche Spiel bei method="Post" wobei hier die Daten im hinteren Ende stecken.

Socket.ReceiveText:
Code:
POST /formulardata.fd HTTP/1.1
Accept: */*
Referer: [url]http://h2o/formular.htm[/url]
Accept-Language: de
Content-Type: application/x-www-form-urlencoded
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Host: h2o
Content-Length: 327
Connection: Keep-Alive
Cache-Control: no-cache

input1=Input+test+1+%F6%E4%FC%DF+%F6%E4%FC%DF&pass=passworttest&sel1=1&text1=+%F6%E4%FC%DF%0D%0A+Test%0D%0A+%F6%E4%FC%DF%0D%0A+%D6%C4%DC%0D%0A+&Klickmich=%3CP%3E%3CIMG+id%3Dsbild+height%3D115+alt%3Dtumbnail+src%3D%22testbilder%2Frosetump.jpg%22+width%3D153+name%3Dsbild%3E%3CBR%3E%3CB%3EEin+Bild+%5Bsend%5D%3C%2FB%3E+%3C%2FP%3E
So und nun zum spannenden Teil (und zur Frage):

Wenn ich eine Formular mit upload einer Datei habe wo landen dann die Daten?

Im thesocket.ReceiveLength stehen sie nicht der ist 0. thesocket:TCustomWinSocket bieten jetzt auch option/Buffer wo es versteckt sein könnte aber ohne Längenangabe?

Socket.ReceiveText:
Code:
POST /formulardata.fd HTTP/1.1
Accept: */*
Referer: [url]http://h2o/formular.htm[/url]
Accept-Language: de
Content-Type: multipart/form-data; boundary=---------------------------7d71b32b5a029c
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Host: h2o
Content-Length: 163
Connection: Keep-Alive
Cache-Control: no-cache

-----------------------------7d71b32b5a029c
Content-Disposition: form-data; name="senderbutton"

Anfrage senden
-----------------------------7d71b32b5a029c--
html dazu:
Code:
<form action="formulardata.fd" method="post" enctype="multipart/form-data">
<input type="file" size="30" accept="text/*">


<input type="submit" name="senderbutton" style="">
</form>
Oder muss ich die hochzuladene Daten vom Webbrowser anfordern?

Die Daten müssten doch im Socket.ReceiveBuf stehen oder?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz