Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    invio sequenza si byte in POST

    ciao ciao , è la prima volta che scrivo in questo forum... spero di non sbagliare

    ho fatto un HTTP POST di dati che contengono alcuni byte null (ovvero di valore 0x00 in esadecimale), quando provo a salvarli in un file usando serialize seguito da fwrite, la scrittura si ferma quando incontra il primo byte NULL. Credo lo caratterizzi come "fine file"

    La soluzione al mio problema potrebbe essere cambiare il POST ed inviare i byte come file upload?!?!?

    Nota: devo costruirmi a manina la richiesta POST*, quindi devo inserire anche il famoso "boundary" che segna l'inizio del file (quelli tipo ---------23224225 ecc...)
    Qualcuno sa se il boundary deve essere costruito in un modo particolare o se posso farlo come voglio?!?!

    temo che quest'ultima domanda sia OT ma non ne sono sicuro

    *il motivo è complicato: in realtà sto programmando un microcontrollore per farlo colloquiare con un server web su protocollo HTTP, anche per questo non so bene dove collorare il mio topic ...

  2. #2
    non puoi usare assolutamente il carattere NULL perché il linguaggio C lo identifica come terminatore di una stringa ... di conseguenza se tu scrivi NULLNULL ovviamente si fermerà al primo

    cambia carattere ^^

  3. #3
    purtroppo il carattere non posso cambiarlo.
    Ma quando si inviano immagini, ad esempio, di caratteri null ce ne sono tanti, come fa php a prendere i byte e salvarli in un file?!?!

    graaazie

  4. #4
    se a qualcuno interessa, riguardo al boundary ho trovato l'RFC che mi serviva http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html

    Il boundary può essere costruito come si vuole (purchè sia preceduto da --). Bisogna fare solo attenzione al fatto che la stessa sequenza del boundary non sia ripetuta nel flusso di byte che mandate...

    In ogni caso, sono ancora in dubbio in merito alla soluzione per l'invio della sequenza di byte. Resta la domanda: mi conviene provare a postare come se fosse un upload di file?!?!

  5. #5
    scusa la domanda, ma non puoi passare 0x00 come stringa invece che come numero ? castalo prima di inviare o mettilo tra apici, o no ? poi la gestione la fai a parte :master:


    per il boundari md5 o sha1 penso possano essere la soluzione piu' veloce / indolore


    P.S. sempre per il file ... scrivi aprendo con wb e non solo w, giusto ?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    in realtà scrivevo solo con w, cosa cambia??

    passare 0x00 come stringa mi sta bene finchè le cifre vanno da 0 a 9 ma in realtà io sto inviando i dati provenienti da un sensore, i valori vanno da 0 a 255, per i numeri da 2 o 3 cifre dovrei raddoppiare o triplicare i byte in transito e sarebbe un lavoraccio.

    in pratica: E' COME SE INVIASSI UN'IMMAGINE! UGUALE UGUALE, quando si inviano immagini bisogna cambiare i byte in transito?!!?
    Ora sto cercando di costruire un POST di upload file, chissà se può funzionare

    p.s.
    grazie siete troppo gentili!! Sto facendo un lavoro di tesi su un sensore per impronte digitali e sto tentando di inviare i dati in uscita dal sensorotto ad un server web... <-- tanto per non lasciare domande strane senza dare un minimo di spiegazione

  7. #7
    Originariamente inviato da waltercl
    in realtà scrivevo solo con w, cosa cambia??
    cambia che se vuoi scrivere dati come le immagini devi aprire in binary e non in text mode, quindi prova ad aprire con wb
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    Grazie mille,
    ora ci provo, ci metto un po' perchè devo ripristinare l'header precedente del post, mi sono lanciato sull'upload dei file, oggi vedrò se funzionano entrambi i sistemi

    ciao ciao ciao by uolly

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.