Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πρόβλημα με xmlHttp.setRequestHeader "Content-Encoding", "gzip"

Îåêßíçóå áðü ôï ìÝëïò odytil. Τελευταία δημοσίευση από το μέλος odytil στις 03-02-2010, 12:04. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  29-01-2010, 23:08 56796

    Πρόβλημα με xmlHttp.setRequestHeader "Content-Encoding", "gzip"

    Καλησπέρα. Έχω ένα πρόβλημα όταν παώ να "στείλω" ένα XMLHttpRequest σε ένα server και προσθέτω το header "Content-Encoding: gzip". Η υλοποίηση γίνεται σε ASP classic  (3.0). Ενώ ο server που δέχετε τα requests δέχεται κανονικά gzipped requests, εμένα ο δικός μου server μου δημιουργεί πρόβλημα και δεν στέλενι σωστά τα δεδομένα. Το σύστημά μου χρησιμοποιεί windows 2003 server edt με IIS 6.0 με ενεργοποιημένη τη δυνατότητα συμπίεσης (Web Sites --> Service --> HTTP Compression --> Compress application files ckecked και  Compress static files checked).

    Πως μπορώ να λύσω αυτό το πρόβλημα, έτσι ώστε να μπορώ να στέλνω από το server requests με το header "Content-Encoding: gzip".

    Ο κώδικας που χρησιμοποιώ είναι ο παρακάτω:

    Function sendSoapRequest(reqStr)

    Dim xmlHttp, xmlDom, strXml
    set xmlHttp = server.CreateObject("MSXML2.XMLHTTP")
    set xmlDom = server.CreateObject("MSXML.DOMDocument")
    xmlHttp.open "POST", "http://www.web_service_url_here.com", false
    xmlHttp.setRequestHeader "POST" , "http://www.web_service_url_here.com" & " HTTP/1.1"
    xmlHttp.setRequestHeader "Authorization" , "Basic MD5_PASSWORD_HERE"
    xmlHttp.setRequestHeader "Content-Type" , "text/xml; charset=utf-8" 
    xmlHttp.setRequestHeader "SOAPAction" , """http://webservices.web_service_url_here.com""" 
    xmlHttp.setRequestHeader "Expect", "100-continue"
    xmlHttp.setRequestHeader "Connection", "Close"
    xmlHttp.setRequestHeader "Content-Encoding", "gzip"
    xmlHttp.setRequestHeader "Accept-Encoding", "gzip"
    xmlHttp.setRequestHeader "Host", "web_service_host.web_service_url_here.com"
    xmlHttp.send(reqStr)

    if xmlHttp.Status = 200 then
    Set xmlDom = xmlHttp.responseXML
    End if
    sendSoapRequest = xmlDom.xml
    set xmlHttp = nothing
    set xmlDom = nothing

    End Function



    Ευχαριστώ.
    Δημοσίευση στην κατηγορία: , , ,
  •  30-01-2010, 07:54 56803 σε απάντηση της 56796

    Απ: Πρόβλημα με xmlHttp.setRequestHeader "Content-Encoding", "gzip"

    Το είδος της επιστροφής που θα λάβεις εξαρτάται από το είδος του resource που θα "καλέσεις". Αν δεν είναι στατικό αρχείο (εικόνα, html-css-js αρχείο) δεν πρόκεται να πάρεις gzipped stream σαν απάντηση, αν και στο request που κάνεις το ζητάς.

    Για την συμπίεση των δυναμικών αρχείων, ο IIS 6 (Windows Server 2003) απαιτεί την προσθήκη κάποιου εξωτερικού module.

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  02-02-2010, 01:29 56899 σε απάντηση της 56803

    Απ: Πρόβλημα με xmlHttp.setRequestHeader "Content-Encoding", "gzip"

    Καλησπέρα και σε ευχαριστώ για την απάντησή σου.

    Το αρχείο C:\WINDOWS\system32\inetsrv\gzip.dll δεν μπορεί να κάνει αυτή τη δουλειά;

    Επίσης έχω κάνει ακριβώς και ότι λέει σε αυτή τη σελίδα http://weblogs.asp.net/ssadasivuni/archive/2003/12/10/42448.aspx, αλλά πάλι δεν γίνεται η δουλειά μου.

    Μήπως ξέρεις κάποιο module που μπορώ να βάλω για να κάνει συμπίεση?

  •  02-02-2010, 15:58 56914 σε απάντηση της 56899

    Απ: Πρόβλημα με xmlHttp.setRequestHeader "Content-Encoding", "gzip"

    Το άρθρο που παραπέμπεις ουσιαστικά είναι ένα αντίγραφο του αντίστοιχου άρθρου που υπάρχει στο TechNet. Υπάρχει ένα ακόμα άρθρο που δείχνει τις αλλαγές με περισσότερες εικόνες.

    Έχεις δει το άρθρο που προσφέρει pointers για να κάνεις troubleshooting IIS 6 Compression στο IIS.net;;

     

    George J.

     


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  02-02-2010, 16:11 56915 σε απάντηση της 56914

    Απ: Πρόβλημα με xmlHttp.setRequestHeader "Content-Encoding", "gzip"

    Εεεεε, το HTTP compression γίνεται διάφανα μεταξύ server και browser, χωρίς να χρειάζεται παρεμβάσεις σε Content-Encoding ή οτιδήποτε άλλο, είτε στη σελίδα είτε στο javascript. Μήπως μπλέκουμε διαφορετικά πράγματα?


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  03-02-2010, 12:02 56926 σε απάντηση της 56915

    Απ: Πρόβλημα με xmlHttp.setRequestHeader "Content-Encoding", "gzip"

    Ευχαριστώ πολύ όλους που απάντησαν σε αυτό το email.

    Το πρόβλημα τελικά ήταν το εξής: 

    Ενώ έχω ενεργοποιημένο στον IIS κανονικά τη συμπίεση ενεργοποιημένη, τόσο για static όσο και για dynamic σελίδες, το MSXML2.XMLHTTP δεν έστελνε στον service server  τα δεδομένα συμπιεσμένα. Οπότε έπρεπε να συμπιέσω με κάποιο τρόπο το XML string που έστελνα στο server δυναμικά μέσα στον κώδικα. Αγόρασα το CHILKAT ZIP activeX component και έτσι συμπίεσα το δυναμικά το string και το έστειλα συμπιεσμένο και το πρόβλημα λύθηκε.

    Ευχαριστώ και πάλι για τη βοήθειά σας!
  •  03-02-2010, 12:04 56927 σε απάντηση της 56926

    Απ: Πρόβλημα με xmlHttp.setRequestHeader "Content-Encoding", "gzip"

    Να ρωτήσω κάτι επιπρόσθετο;

    Υπάρχει κάποιος gZIP αλγόριθμος σε ASP (classic) κώδικα σε free μορφή; Γνωρίζει κάποιος κάτι;
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems