Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15

Discussione: socket per xml service

  1. #11
    mettendo 1.1 e deflate al posto di gzip funziona, ma che differenza c'è fra gzip e deflate???

  2. #12
    deflate gli dice al webserver di inviare i contenuto non compressi

    l'HTTP 1.1, invece, è per evitare possibili "incomprensioni" nelle richieste dato che ormai non si usa da una decina d'anni o poco più
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #13
    ti spiego, il partner che fornisce questo service mi ha detto che devo utilizzare la compressione gzip, seguendo l'esempio mi basterebbe, secondo quanto dicono, mettere nell'intestazione gzip ma questo non funziona, ho sempre utilizzato socket_create perchè fin dal principio erano gli esempio che proponevano loro nelle guide line .. soltanto è che volevo capire per mia curiosità personale se questo problema è relativo alla configurazione del server apache o del modulo php o di altro insomma, alla fine probabilmente non utilizzerò il gzip cmq ma era per capire il funzionamento ... tutto quì

  4. #14
    :master: :master:

    ma il tuo "partner" sa di che parla?

    la codifica GZIP ovviamente la puoi usare, cosi come puoi usare la codifica deflate, ergo nessuna compressione, solo che consumi, a loro, più banda ^^

    Ma, detto questo, in entrambi i casi dovresti parsarti l'intestazione, correttamente, o per lo meno identificare lo \r\n\r\n tramite substr e poi prendere la parte che va da zero al valore dato da substr (meno 1 o meno 4 se non erro, ma non ricordo) per esploderla con \r\n cosi da avere i singoli header e controllare che succede (ci sta anche scritto, ad esempio, quanti byte devi andare a leggere per il contenuto o la codifica dei caratteri) e poi da substr fino alla fine per leggere il contenuto da, eventualmente, decomprimere

    ma, se non hai una certa praticità, come ti dicevo prima, ti conviene usare le curl che se la sbriga direttamente la libreria curl o, ancora meglio, file_get_contents se devi passare i dati SOLO nella query string (ergo se devi passare in POST sotto forma di xml o simili non puoi con file_get_contents e devi ripiegare sulle curl)
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  5. #15
    ho utilizzanto queste due funzioni che si appoggiano alla classe WP_http_encoding di wordpress e funziona alla grande,

    Codice PHP:

    function decompress$compressed$length null ) {

    if ( 
    false !== ($decompressed = @gzinflate$compressed ) ) )
        return 
    $decompressed;
    if ( 
    false !== ( $decompressed WP_Http_Encoding::compatible_gzinflate$compressed ) ) )
        return 
    $decompressed;
    if ( 
    false !== ( $decompressed = @gzuncompress$compressed ) ) )
        return 
    $decompressed;
    if ( 
    function_exists('gzdecode') ) {
        
    $decompressed = @gzdecode$compressed );
        if ( 
    false !== $decompressed )
            return 
    $decompressed;
    }
    return 
    $compressed;
    }
    function 
    compatible_gzinflate($gzData) {

    if ( 
    substr($gzData03) == "\x1f\x8b\x08" ) {
        
    $i 10;
        
    $flg ordsubstr($gzData31) );
        if ( 
    $flg ) {
            if ( 
    $flg ) {
                list(
    $xlen) = unpack('v'substr($gzData$i2) );
                
    $i $i $xlen;
            }
            if ( 
    $flg )
                
    $i strpos($gzData"\0"$i) + 1;
            if ( 
    $flg 16 )
                
    $i strpos($gzData"\0"$i) + 1;
            if ( 
    $flg )
                
    $i $i 2;
        }
        return @
    gzinflatesubstr($gzData$i, -8) );
    } else {
        return 
    false;
    }


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 © 2026 vBulletin Solutions, Inc. All rights reserved.