Ciao a tutti, spero che la sezione vada bene, vi espongo il problema.
Sto cercando tramite socket di connettermi ad una pagina che faccia l'upload di una immagine!
Ovviamente non sapendo come lavorasse il method POST per l'invio dei dati ho letto qua e la e mi sono fatto un idea degli header che vengono passati durante l'invio.
Ho scaricato un plugin di firefox (LiveHeader) e cosi ho potuto vedere durante un caricamento classico tramite form, cosa veniva passato!
Ho copiato il tutto e l'ho adattato per quello che mi serviva... a titolo informativo il linguaggio è mirc scripting ma di fatto il problema è un altro, cioe gli header.
Il file adattato di LiveHeader è cosi:
Ho evidenziato le variabili che passo, penso siano abbastanza chiare.POST /script/upload.php HTTP/1.1
Host: www.miosito.it
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12 ImageShackToolbar/4.4.3
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: it-it,it;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Content-Type: multipart/form-data; boundary=---------------------------15395343124916
Content-Length: %flength
-----------------------------15395343124916
Content-Disposition: form-data; name="upfile"; filename=" $+ %fname $+ "
Content-Type: image/ $+ %ext
IMMAGINE VERA E PROPRIA
-----------------------------15395343124916
Content-Disposition: form-data; name="MAX_FILE_SIZE"
10000
-----------------------------15395343124916--
Per immagine vera e propria intendo proprio il contenuto binario dell'immagine.
Cmq provando a inviare questi header la risposta del server è:
Ho (almeno credo) risolto aggiungendo una linea vuota (un /n/r) tra il length e il boundary cosi:Your browser sent a request that this server could not understand.
Request header field is missing ':' separator.
<pre>
-----------------------------15395343124916</pre>Arrivato a questo punto invio e la riposta del server (dopo 2-3 min) è:Content-Length: %flength
-----------------------------15395343124916
Ho provato anche a cambiare i CHMOD in 777 ma niente...<h1>Forbidden</h1>
You don't have permission to access /script/upload.php
on this server.</p>
Spero nell'aiuto di qualcuno perchè non so piu come fare