HTTPClient

Screenshot Λογισμικό:
HTTPClient
Στοιχεία Λογισμικού:
Εκδοχή: 0.3-3
Ανεβάστε ημερομηνία: 3 Jun 15
Προγραμματιστής: -
Άδεια: Δωρεάν
Δημοτικότητα: 3

Rating: nan/5 (Total Votes: 0)

Αυτό το πακέτο παρέχει μια πλήρη βιβλιοθήκη http πελάτη. Επί του παρόντος εφαρμόζει τα περισσότερα από τα σχετικά τμήματα του HTTP / 1.0 και HTTP / 1.1 πρωτόκολλα, συμπεριλαμβανομένης της κεφαλής μεθόδων αίτημα, GET, POST και PUT, και την αυτόματη διαχείριση της άδειας, τα αιτήματα ανακατεύθυνση, και τα μπισκότα.
Επιπλέον, η κατηγορία περιλαμβάνονται κωδικοποιητές περιέχει κωδικοποιητές και αποκωδικοποιητές για το base64, quoted-printable, URL-κωδικοποίηση, κατατμημένη και οι κωδικοποιήσεις multipart / form-δεδομένων. Το όλο θέμα είναι ελεύθερο, και σύμφωνα με την άδεια GNU Lesser General Public License (LGPL) (σημειώστε ότι αυτό δεν είναι το ίδιο με το GPL).
Μετά είναι οι εξαρτήσεις και τεκμηρίωση για την HTTPClient έκδοση 0.3-3. Εάν έχετε οποιαδήποτε προβλήματα, bugs, προτάσεις, σχόλια, κλπ δείτε τις πληροφορίες σχετικά με τον εντοπισμό σφαλμάτων και προβλημάτων αναφοράς. Μια παλαιότερη έκδοση αυτών των σελίδων είναι επίσης διαθέσιμη στα Ιαπωνικά, χάρη στις προσπάθειες της καλοσύνη Yuji Kumasaka.
Χρησιμοποιώντας το HTTPClient θα πρέπει να είναι αρκετά απλή. Πρώτα προσθέστε την εισαγωγή δήλωση εισαγωγής HTTPClient *.? για το αρχείο σας (ες). Στη συνέχεια μπορείτε να δημιουργήσετε μια παρουσία του HTTPConnection (θα χρειαστείτε ένα για κάθε διακομιστή που θέλετε να μιλήσετε). Οι αιτήσεις μπορούν στη συνέχεια να αποσταλούν χρησιμοποιώντας ένα από τα Κεντρικά μεθόδους (), Get (), Ταχυδρομείο (), κλπ σε HTTPConnection.
Όλες αυτές οι μέθοδοι επιστρέφουν ένα στιγμιότυπο της HTTPResponse που έχει μεθόδους για την πρόσβαση των κεφαλίδες απόκρισης (getHeader (), getHeaderAsInt (), κλπ), διάφορες πληροφορίες απόκριση (getStatusCode (), getReasonLine (), κλπ), τα δεδομένα απόκρισης (GetData () , gettext (), και getInputStream ()) και τυχόν ρυμουλκούμενα που ενδέχεται να έχουν σταλεί (getTrailer (), getTrailerAsInt (), κλπ). Παρακάτω είναι μερικά παραδείγματα για να ξεκινήσετε.
Για να ανακτήσετε αρχεία από το URL "http://www.myaddr.net/my/file" που μπορείτε να χρησιμοποιήσετε κάτι σαν το παρακάτω:
    προσπαθώ
    {
        HTTPConnection con = νέα HTTPConnection ("www.myaddr.net")?
        HTTPResponse ΕΠΣ = con.Get ("/ μου / αρχείου")?
        εάν (rsp.getStatusCode ()> = 300)
        {
            System.err.println («Ελήφθη Error:" + rsp.getReasonLine ())?
            System.err.println (rsp.getText ())?
        }
        αλλιώς
            δεδομένων = rsp.getData ()?
        ΕΠΣ = con.Get ("/ another_file")?
        εάν (rsp.getStatusCode ()> = 300)
        {
            System.err.println («Ελήφθη Error:" + rsp.getReasonLine ())?
            System.err.println (rsp.getText ())?
        }
        αλλιώς
            other_data = rsp.getData ()?
    }
    αλιευμάτων (IOException ΔΓΕ)
    {
        System.err.println (ioe.toString ())?
    }
    αλιευμάτων (ParseException pe)
    {
        System.err.println ("Σφάλμα κατά την ανάλυση Content-Type:" + pe.toString ())?
    }
    αλιευμάτων (ModuleException εμένα)
    {
        System.err.println («αίτηση Λαθών:" + me.getMessage ())?
    }
Αυτό θα πάρει τα αρχεία "/ μου / αρχείου" και "/ another_file» και να θέσει το περιεχόμενό τους σε byte [] 's προσβάσιμη μέσω GetData (). Σημειώστε ότι θα πρέπει να δημιουργήσετε μόνο ένα νέο HTTPConnection κατά την αποστολή ενός αιτήματος σε ένα νέο διακομιστή (διαφορετικό πρωτόκολλο, υποδοχής ή το λιμάνι)? Αν και μπορείτε να δημιουργήσετε ένα νέο HTTPConnection για κάθε αίτηση στον ίδιο διακομιστή αυτό δεν συνιστάται, καθώς διάφορες πληροφορίες σχετικά με το διακομιστή είναι προσωρινά μετά την πρώτη αίτηση (για τη βελτιστοποίηση επόμενες αιτήσεις) και μόνιμες συνδέσεις χρησιμοποιούνται όποτε αυτό είναι δυνατό (βλέπε επίσης Σύνθετη Πληροφορίες).
Για να καταχωρήσετε δεδομένα φόρμας από μια μικροεφαρμογή πίσω στο διακομιστή σας, μπορείτε να χρησιμοποιήσετε κάτι σαν αυτό (αν έχετε δύο πεδία ονομάζονται όνομα και το e-mail, το περιεχόμενο των οποίων είναι αποθηκευμένα στο όνομα μεταβλητές και e-mail):
    προσπαθώ
    {
        NVPair form_data [] = new NVPair [2]?
        form_data [0] = new NVPair ("όνομα", όνομα)?
        form_data [1] = new NVPair («e-mail», e-mail)?
        // Σημειώστε την ευκολία κατασκευαστή για μικροεφαρμογές
        HTTPConnection con = νέα HTTPConnection (αυτό)?
        HTTPResponse ΕΠΣ = con.Post ("/ cgi-bin / my_script", form_data)?
        εάν (rsp.getStatusCode ()> = 300)
        {
            System.err.println («Ελήφθη Error:" + rsp.getReasonLine ())?
            System.err.println (rsp.getText ())?
        }
        αλλιώς
            ροή = rsp.getInputStream ()?
    }
    αλιευμάτων (IOException ΔΓΕ)
    {
        System.err.println (ioe.toString ())?
    }
    αλιευμάτων (ModuleException εμένα)
    {
        System.err.println («αίτηση Λαθών:" + me.getMessage ())?
    }
Εδώ τα δεδομένα απόκρισης διαβάζεται κατά τον ελεύθερο χρόνο μέσω ενός InputStream αντί για όλα με τη μία σε ένα byte [].
Ως άλλο παράδειγμα, αν θέλετε να αποστείλετε ένα έγγραφο σε μια διεύθυνση URL (και ο διακομιστής υποστηρίζει HTTP PUT) θα μπορούσατε να κάνετε κάτι σαν το παρακάτω:
    προσπαθώ
    {
        URL url = new URL ("http://www.mydomain.us/test/my_file")?
        HTTPConnection con = νέα HTTPConnection (url)?
        HTTPResponse ΕΠΣ = con.Put (url.getFile (), "Hello World")?
        εάν (rsp.getStatusCode ()> = 300)
        {
            System.err.println («Ελήφθη Error:" + rsp.getReasonLine ())?
            System.err.println (rsp.getText ())?
        }
        αλλιώς
            text = rsp.getText ()?
    }
    αλιευμάτων (IOException ΔΓΕ)
    {
        System.err.println (ioe.toString ())?
    }
    αλιευμάτων (ModuleException εμένα)
    {
        System.err.println («αίτηση Λαθών:" + me.getMessage ())?
    }

Άλλο λογισμικό του προγραμματιστή -

Σχόλια για HTTPClient

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!