Κωδικοί σφαλμάτων curl: Πλήρης αναφορά

Όταν μια εντολή curl αποτυγχάνει, επιστρέφει έναν αριθμητικό κωδικό εξόδου (γνωστό και ως κωδικός σφάλματος curl) που αναγνωρίζει τον τύπο του σφάλματος. Μπορείτε να ελέγξετε τον κωδικό εξόδου curl εκτελώντας echo $? αμέσως μετά την εντολή curl (ή $LASTEXITCODE στο PowerShell). Ο κωδικός εξόδου 0 σημαίνει επιτυχία· οποιοσδήποτε άλλος αριθμός υποδεικνύει συγκεκριμένο πρόβλημα — από αποτυχίες ανάλυσης DNS και λήξεις χρονικού ορίου σύνδεσης μέχρι ζητήματα πιστοποιητικών SSL. Αυτή η σελίδα είναι μια πλήρης αναφορά των πιο συνηθισμένων κωδικών σφαλμάτων curl με επεξηγήσεις, αιτίες και λύσεις. Αν εργάζεστε με εντολές curl στον κώδικά σας, επικολλήστε τες στο curl2code για μετατροπή στη γλώσσα προγραμματισμού της επιλογής σας.

Πίνακας γρήγορης αναφοράς

0CURLE_OK

Επιτυχία. Η λειτουργία ολοκληρώθηκε χωρίς σφάλματα.

1CURLE_UNSUPPORTED_PROTOCOL

Μη υποστηριζόμενο πρωτόκολλο. Η διεύθυνση URL χρησιμοποιεί πρωτόκολλο που δεν υποστηρίζεται από αυτή την έκδοση curl.

3CURLE_URL_MALFORMAT

Λανθασμένη διεύθυνση URL. Η σύνταξη της URL είναι μη έγκυρη ή δεν ήταν δυνατή η ανάλυσή της.

5CURLE_COULDNT_RESOLVE_PROXY

Αδυναμία ανάλυσης proxy. Δεν ήταν δυνατή η ανάλυση του ονόματος host του καθορισμένου proxy.

6CURLE_COULDNT_RESOLVE_HOST

Η αναζήτηση DNS απέτυχε — δεν ήταν δυνατή η ανάλυση του ονόματος host σε διεύθυνση IP.

7CURLE_COULDNT_CONNECT

Η σύνδεση TCP απέτυχε — ο διακομιστής είναι εκτός λειτουργίας, η θύρα είναι μπλοκαρισμένη ή το τείχος προστασίας απορρίπτει συνδέσεις.

18CURLE_PARTIAL_FILE

Μερικό αρχείο. Η μεταφορά διακόπηκε και ελήφθη μόνο μέρος του αρχείου.

22CURLE_HTTP_RETURNED_ERROR

Ο διακομιστής επέστρεψε σφάλμα HTTP (4xx/5xx) και χρησιμοποιήθηκε η σημαία --fail.

23CURLE_WRITE_ERROR

Σφάλμα εγγραφής. Το curl απέτυχε να γράψει τα ληφθέντα δεδομένα στο δίσκο (δεν επιτρέπεται η πρόσβαση ή ο δίσκος είναι πλήρης).

28CURLE_OPERATION_TIMEDOUT

Η λειτουργία υπερέβη τον μέγιστο επιτρεπόμενο χρόνο (DNS, σύνδεση ή μεταφορά).

35CURLE_SSL_CONNECT_ERROR

Η χειραψία SSL/TLS απέτυχε — αναντιστοιχία έκδοσης πρωτοκόλλου ή σουίτας κρυπτογράφησης.

37CURLE_FILE_COULDNT_READ_FILE

Αδυναμία ανάγνωσης αρχείου. Ένα τοπικό αρχείο που αναφέρεται στο αίτημα δεν ήταν δυνατό να ανοιχτεί ή να διαβαστεί.

52CURLE_GOT_NOTHING

Κενή απάντηση από τον διακομιστή. Ο διακομιστής έκλεισε τη σύνδεση χωρίς να στείλει δεδομένα.

56CURLE_RECV_ERROR

Η σύνδεση επαναρυθμίστηκε — ο διακομιστής διέκοψε τη σύνδεση κατά τη μεταφορά δεδομένων.

60CURLE_SSL_CACERT

Η επικύρωση πιστοποιητικού SSL απέτυχε — ληγμένο, αυτο-υπογεγραμμένο ή ξεπερασμένο πακέτο CA.

77CURLE_SSL_CACERT_BADFILE

Πρόβλημα πιστοποιητικού SSL CA. Δεν ήταν δυνατή η ανάγνωση ή ανάλυση του καθορισμένου αρχείου πιστοποιητικού CA.

92CURLE_HTTP2_STREAM

Σφάλμα ροής HTTP/2. Παρουσιάστηκε σφάλμα ροής σε επίπεδο πρωτοκόλλου HTTP/2 κατά τη μεταφορά.

Σφάλμα 6: Αδυναμία ανάλυσης host

Τι σημαίνει
Το τερματικό σας εμφανίζει curl: (6) Could not resolve host. Το curl δεν μπόρεσε να αναλύσει το όνομα host σε διεύθυνση IP — η αναζήτηση DNS απέτυχε πριν γίνει οποιαδήποτε προσπάθεια σύνδεσης.
Αιτίες
Οι πιο συνηθισμένες αιτίες είναι: τυπογραφικό λάθος στο όνομα host (π.χ. curl https://apiexample.com αντί για api.example.com), προβλήματα διακομιστή DNS (ο ρυθμισμένος DNS σας είναι εκτός λειτουργίας ή μη προσβάσιμος), απουσία σύνδεσης δικτύου (αποσυνδεδεμένο Wi-Fi, μη συνδεδεμένο VPN) ή το domain πραγματικά δεν υπάρχει.
Πώς να το διορθώσετε
Πρώτα, επαληθεύστε ότι η URL είναι σωστή. Στη συνέχεια δοκιμάστε την ανάλυση DNS απευθείας: nslookup api.example.com ή dig api.example.com. Αν το DNS αποτύχει, δοκιμάστε διαφορετικό διακομιστή DNS: curl --dns-servers 8.8.8.8 https://api.example.com. Ελέγξτε το /etc/resolv.conf ή τις ρυθμίσεις δικτύου. Αν βρίσκεστε πίσω από εταιρικό VPN, βεβαιωθείτε ότι το εσωτερικό DNS μπορεί να αναλύσει το host.
$ curl https://api.exmple.com/users

Σφάλμα 7: Αποτυχία σύνδεσης

Τι σημαίνει
Το τερματικό σας εμφανίζει curl: (7) Failed to connect to host port: Connection refused. Το curl ανέλυσε το όνομα host αλλά δεν μπόρεσε να δημιουργήσει σύνδεση TCP με τον διακομιστή — η σύνδεση απορρίφθηκε ενεργά ή έληξε το χρονικό όριο σε επίπεδο TCP.
Αιτίες
Συνηθισμένες αιτίες περιλαμβάνουν: ο διακομιστής είναι εκτός λειτουργίας ή δεν εκτελείται, ένα τείχος προστασίας μπλοκάρει τη θύρα (ελέγξτε τόσο τοπικά όσο και στο τείχος προστασίας του διακομιστή), η θύρα είναι λάθος (π.χ. η υπηρεσία τρέχει στη 8080 αλλά συνδέεστε στη 443) ή η ουρά αναμονής του διακομιστή είναι γεμάτη υπό υψηλό φόρτο.
Πώς να το διορθώσετε
Επαληθεύστε ότι ο διακομιστής εκτελείται: ping api.example.com και telnet api.example.com 443. Ελέγξτε αν η σωστή θύρα είναι ανοιχτή: nmap -p 443 api.example.com. Απενεργοποιήστε προσωρινά το τοπικό τείχος προστασίας για δοκιμή. Αν χρησιμοποιείτε Docker, βεβαιωθείτε ότι η θύρα του container είναι δημοσιευμένη. Δοκιμάστε με λεπτομερή λειτουργία: curl -v https://api.example.com για να δείτε ακριβώς πού αποτυγχάνει η σύνδεση.
$ curl https://localhost:8080/api

Σφάλμα 22: Το HTTP επέστρεψε σφάλμα

Τι σημαίνει
Το τερματικό σας εμφανίζει curl: (22) The requested URL returned error. Ο διακομιστής επέστρεψε κωδικό κατάστασης σφάλματος HTTP (4xx ή 5xx) και το curl κλήθηκε με -f ή --fail, που λέει στο curl να αντιμετωπίζει τα σφάλματα HTTP ως αποτυχίες.
Αιτίες
Το σφάλμα ενεργοποιείται από κωδικούς κατάστασης HTTP όπως 400 (Bad Request), 401 (Unauthorized), 403 (Forbidden), 404 (Not Found) ή 500 (Internal Server Error) — αλλά μόνο όταν χρησιμοποιείται το --fail. Χωρίς --fail, το curl εξέρχεται με κωδικό 0 ακόμη και σε σφάλματα HTTP. Συνηθισμένες αιτίες: λάθος URL, απουσία πιστοποίησης, ανεπαρκή δικαιώματα ή σφάλματα στην πλευρά του διακομιστή.
Πώς να το διορθώσετε
Εκτελέστε curl χωρίς --fail για να δείτε πλήρες σώμα απόκρισης — συχνά περιέχει το πραγματικό μήνυμα σφάλματος. Ελέγξτε τον κωδικό κατάστασης HTTP: curl -w "%{http_code}" -o /dev/null -s URL. Για 401/403: επαληθεύστε το token πιστοποίησης ή το κλειδί API. Για 404: ελέγξτε ξανά τη διαδρομή URL. Για 500: το πρόβλημα είναι στην πλευρά του διακομιστή.
$ curl --fail https://api.example.com/nonexistent

Σφάλμα 28: Λήξη χρονικού ορίου λειτουργίας

Τι σημαίνει
Το τερματικό σας εμφανίζει curl: (28) Operation timed out ή curl: (28) Connection timed out. Η λειτουργία διήρκεσε περισσότερο από τον επιτρεπόμενο χρόνο. Αυτό είναι το πιο συνηθισμένο σφάλμα curl — μπορεί να εμφανιστεί κατά την ανάλυση DNS, τη σύνδεση TCP, τη χειραψία SSL ή τη μεταφορά δεδομένων.
Αιτίες
Τυπικές αιτίες περιλαμβάνουν: αργός ή υπερφορτωμένος διακομιστής που δεν ανταποκρίνεται εγκαίρως, συμφόρηση δικτύου ή απώλεια πακέτων, τείχος προστασίας που απορρίπτει σιωπηλά πακέτα (χωρίς απόρριψη, απλά σιωπή), υπερβολικά αυστηρές τιμές timeout ρυθμισμένες με --connect-timeout ή --max-time, ή λανθασμένη ρύθμιση proxy που προκαλεί καθυστερήσεις.
Πώς να το διορθώσετε
Αυξήστε το χρονικό όριο: curl --connect-timeout 30 --max-time 120 URL. Χρησιμοποιήστε λεπτομερή λειτουργία για να δείτε πού κολλάει: curl -v URL. Δοκιμάστε την καθυστέρηση δικτύου: ping api.example.com και traceroute api.example.com. Αν βρίσκεστε πίσω από proxy, δοκιμάστε να τον παρακάμψετε: curl --noproxy '*' URL. Για μεγάλες μεταφορές αρχείων, σκεφτείτε τη χρήση --retry 3 με --retry-delay 5.
$ curl --connect-timeout 5 https://slow-api.example.com/data

Σφάλμα 35: Σφάλμα σύνδεσης SSL

Τι σημαίνει
Το τερματικό σας εμφανίζει curl: (35) SSL connect error. Η χειραψία SSL/TLS απέτυχε — το curl δεν μπόρεσε να δημιουργήσει ασφαλή σύνδεση με τον διακομιστή.
Αιτίες
Συνηθισμένες αιτίες: αναντιστοιχία έκδοσης TLS (ο διακομιστής απαιτεί TLS 1.3 αλλά το curl σας υποστηρίζει μόνο μέχρι TLS 1.2), ασυμβατότητα σουίτας κρυπτογράφησης, λανθασμένη ρύθμιση SSL στον διακομιστή (ληγμένο πιστοποιητικό κατά τη χειραψία, ελλιπής αλυσίδα), ο διακομιστής δεν υποστηρίζει πραγματικά HTTPS στη συγκεκριμένη θύρα ή ένα proxy ή τείχος προστασίας αναχαιτίζει τη σύνδεση SSL (MITM).
Πώς να το διορθώσετε
Επιβάλλετε συγκεκριμένη έκδοση TLS: curl --tlsv1.2 URL ή curl --tlsv1.3 URL. Ελέγξτε τι υποστηρίζει ο διακομιστής: openssl s_client -connect api.example.com:443. Ενημερώστε το curl και το OpenSSL στις πιο πρόσφατες εκδόσεις. Αν ο διακομιστής χρησιμοποιεί αυτο-υπογεγραμμένο πιστοποιητικό, αυτό είναι συνήθως σφάλμα 60 — το σφάλμα 35 υποδεικνύει τυπικά αποτυχία χειραψίας σε επίπεδο πρωτοκόλλου.
$ curl https://legacy-server.example.com/api

Σφάλμα 56: Αποτυχία λήψης — Η σύνδεση επαναρυθμίστηκε

Τι σημαίνει
Το τερματικό σας εμφανίζει curl: (56) Recv failure: Connection reset by peer. Η σύνδεση δημιουργήθηκε επιτυχώς, αλλά η λήψη δεδομένων απέτυχε — ο διακομιστής έκλεισε ή επαναρύθμισε τη σύνδεση απρόσμενα κατά τη μεταφορά.
Αιτίες
Αυτό συμβαίνει συχνά όταν: ο διακομιστής καταρρέει ή επανεκκινείται κατά τη μεταφορά, ένα load balancer ή proxy διακόπτει τη σύνδεση (λήξη χρονικού ορίου αδράνειας, υπερβολικά μεγάλο αίτημα), ένα τείχος προστασίας τερματίζει μακροχρόνιες συνδέσεις, ο διακομιστής έχει χρονικό όριο keep-alive μικρότερο από το αναμενόμενο ή υπάρχει διακοπή δικτύου μεταξύ πελάτη και διακομιστή.
Πώς να το διορθώσετε
Δοκιμάστε ξανά το αίτημα — τα παροδικά προβλήματα δικτύου είναι η πιο συνηθισμένη αιτία. Χρησιμοποιήστε λεπτομερή λειτουργία: curl -v URL για να δείτε το ακριβές σημείο αποτυχίας. Αν το σφάλμα συμβαίνει κατά μεγάλες μεταφορτώσεις, δοκιμάστε τμηματική μεταφορά: curl -H "Transfer-Encoding: chunked" URL. Για λειτουργίες Git που εμφανίζουν RPC failed; curl 56, αυξήστε το buffer: git config http.postBuffer 524288000.
$ curl https://api.example.com/large-download

Σφάλμα 60: Πρόβλημα πιστοποιητικού SSL

Τι σημαίνει
Το τερματικό σας εμφανίζει curl: (60) SSL certificate problem: unable to get local issuer certificate. Το curl δεν μπόρεσε να επαληθεύσει το πιστοποιητικό SSL του διακομιστή σε σχέση με το πακέτο CA (Certificate Authority). Η χειραψία TLS ολοκληρώθηκε σε επίπεδο πρωτοκόλλου, αλλά η επικύρωση πιστοποιητικού απέτυχε.
Αιτίες
Πιο συνηθισμένες αιτίες: ο διακομιστής χρησιμοποιεί αυτο-υπογεγραμμένο πιστοποιητικό, το πιστοποιητικό έχει λήξει, η αλυσίδα πιστοποιητικών είναι ελλιπής (λείπουν ενδιάμεσα πιστοποιητικά), το πακέτο CA του curl είναι ξεπερασμένο (συνηθισμένο σε παλαιότερα συστήματα ή σε Docker containers) ή το Common Name / SAN του πιστοποιητικού δεν ταιριάζει με το ζητούμενο όνομα host.
Πώς να το διορθώσετε
Ενημερώστε το πακέτο CA: curl --cacert /path/to/cacert.pem URL. Κατεβάστε ένα ενημερωμένο πακέτο από https://curl.se/ca/cacert.pem. Για διάγνωση: openssl s_client -connect api.example.com:443 -showcerts. Για αυτο-υπογεγραμμένα πιστοποιητικά σε περιβάλλον ανάπτυξης, χρησιμοποιήστε curl -k URL (ποτέ σε παραγωγή — απενεργοποιεί όλη την επικύρωση πιστοποιητικών). Στο Docker, εγκαταστήστε το πακέτο ca-certificates.
$ curl https://self-signed.example.com/api

Άλλοι κωδικοί σφαλμάτων

0CURLE_OK

Επιτυχία. Η λειτουργία ολοκληρώθηκε χωρίς σφάλματα.

1CURLE_UNSUPPORTED_PROTOCOL

Μη υποστηριζόμενο πρωτόκολλο. Η διεύθυνση URL χρησιμοποιεί πρωτόκολλο που δεν υποστηρίζεται από αυτή την έκδοση curl.

3CURLE_URL_MALFORMAT

Λανθασμένη διεύθυνση URL. Η σύνταξη της URL είναι μη έγκυρη ή δεν ήταν δυνατή η ανάλυσή της.

5CURLE_COULDNT_RESOLVE_PROXY

Αδυναμία ανάλυσης proxy. Δεν ήταν δυνατή η ανάλυση του ονόματος host του καθορισμένου proxy.

18CURLE_PARTIAL_FILE

Μερικό αρχείο. Η μεταφορά διακόπηκε και ελήφθη μόνο μέρος του αρχείου.

23CURLE_WRITE_ERROR

Σφάλμα εγγραφής. Το curl απέτυχε να γράψει τα ληφθέντα δεδομένα στο δίσκο (δεν επιτρέπεται η πρόσβαση ή ο δίσκος είναι πλήρης).

37CURLE_FILE_COULDNT_READ_FILE

Αδυναμία ανάγνωσης αρχείου. Ένα τοπικό αρχείο που αναφέρεται στο αίτημα δεν ήταν δυνατό να ανοιχτεί ή να διαβαστεί.

52CURLE_GOT_NOTHING

Κενή απάντηση από τον διακομιστή. Ο διακομιστής έκλεισε τη σύνδεση χωρίς να στείλει δεδομένα.

77CURLE_SSL_CACERT_BADFILE

Πρόβλημα πιστοποιητικού SSL CA. Δεν ήταν δυνατή η ανάγνωση ή ανάλυση του καθορισμένου αρχείου πιστοποιητικού CA.

92CURLE_HTTP2_STREAM

Σφάλμα ροής HTTP/2. Παρουσιάστηκε σφάλμα ροής σε επίπεδο πρωτοκόλλου HTTP/2 κατά τη μεταφορά.

Πώς να αποσφαλματώσετε σφάλματα curl

Όταν το curl αποτυγχάνει, αυτές οι τρεις σημαίες σας βοηθούν να εντοπίσετε γρήγορα τη βασική αιτία — από την ανάλυση DNS μέχρι τη χειραψία SSL και το payload απόκρισης.

  1. 1

    Ενεργοποίηση λεπτομερούς εξόδου

    Εκτελέστε curl -v URL για να δείτε τον πλήρη κύκλο αιτήματος/απόκρισης: ανάλυση DNS, σύνδεση TCP, χειραψία TLS, headers αιτήματος που στάλθηκαν και headers απόκρισης που ελήφθησαν. Αυτή είναι η πιο χρήσιμη σημαία αποσφαλμάτωσης.

  2. 2

    Έλεγχος κωδικού κατάστασης HTTP

    Εκτελέστε curl -o /dev/null -s -w "%{http_code}" URL για να λάβετε μόνο τον κωδικό κατάστασης HTTP (200, 404, 500 κ.λπ.) χωρίς το σώμα απόκρισης. Χρήσιμο για γρήγορους ελέγχους υγείας και scripting.

  3. 3

    Εμφάνιση σφαλμάτων σιωπηλά

    Εκτελέστε curl -sS URL για να αποκρύψετε τη γραμμή προόδου (-s) αλλά να εμφανίζονται ακόμη τα σφάλματα (-S). Ιδανικό για scripts όπου θέλετε καθαρή έξοδο αλλά χρειάζεστε ανίχνευση αποτυχιών.

Συχνές ερωτήσεις

Πώς να ελέγξετε τον κωδικό εξόδου curl;

Μετά την εκτέλεση μιας εντολής curl, ο κωδικός εξόδου αποθηκεύεται στην ειδική μεταβλητή του shell. Στο Bash/Zsh, εκτελέστε echo $? αμέσως μετά την εντολή curl. Στο PowerShell, χρησιμοποιήστε $LASTEXITCODE. Στα scripts, μπορείτε να τον ελέγξετε με μια συνθήκη: if curl -sf URL; then echo "OK"; else echo "Failed with code $?"; fi. Ο κωδικός εξόδου 0 σημαίνει επιτυχία· οποιοσδήποτε άλλος αριθμός υποδεικνύει σφάλμα. Για να δείτε τόσο τον κωδικό κατάστασης HTTP όσο και τον κωδικό εξόδου curl, συνδυάστε curl -w "%{http_code}" -o /dev/null -s URL; echo "Exit: $?". Σημειώστε ότι ο κωδικός εξόδου curl είναι διαφορετικός από τον κωδικό κατάστασης HTTP — το curl επιστρέφει 0 ακόμη και για HTTP 404 εκτός αν χρησιμοποιήσετε τη σημαία --fail.

Πώς να διορθώσετε το σφάλμα curl 28 (λήξη χρονικού ορίου);

Το σφάλμα 28 σημαίνει ότι το αίτημα υπερέβη τον μέγιστο επιτρεπόμενο χρόνο. Πρώτα, αυξήστε το χρονικό όριο: curl --connect-timeout 30 --max-time 120 URL. Το --connect-timeout περιορίζει τη φάση σύνδεσης TCP, ενώ το --max-time περιορίζει ολόκληρη τη λειτουργία. Στη συνέχεια, διαγνώστε το σημείο καθυστέρησης με curl -v URL — η λεπτομερής έξοδος δείχνει ακριβώς πού κολλάει το curl (DNS, σύνδεση, TLS ή μεταφορά). Συνηθισμένες λύσεις: ελέγξτε τη σύνδεση δικτύου και τις ρυθμίσεις DNS, επαληθεύστε ότι ο διακομιστής ανταποκρίνεται (ping και telnet), παρακάμψτε τα proxies με --noproxy '*' και για μεγάλες λήψεις προσθέστε --retry 3 --retry-delay 5 για αυτόματες επαναπροσπάθειες.

Πώς να διορθώσετε σφάλματα πιστοποιητικού SSL curl (σφάλμα 60);

Το σφάλμα 60 σημαίνει ότι το curl δεν μπορεί να επαληθεύσει το πιστοποιητικό SSL του διακομιστή. Η λύση εξαρτάται από την αιτία. Για ξεπερασμένο πακέτο CA: κατεβάστε ένα νέο από https://curl.se/ca/cacert.pem και χρησιμοποιήστε curl --cacert /path/to/cacert.pem URL. Για Docker containers: εγκαταστήστε το πακέτο ca-certificates (apt-get install ca-certificates). Για αυτο-υπογεγραμμένα πιστοποιητικά σε ανάπτυξη: χρησιμοποιήστε curl -k URL για παράκαμψη επικύρωσης — αλλά μη χρησιμοποιείτε ποτέ -k σε παραγωγή καθώς απενεργοποιεί όλον τον έλεγχο πιστοποιητικών. Για διάγνωση: εκτελέστε openssl s_client -connect host:443 -showcerts για επιθεώρηση της αλυσίδας πιστοποιητικών. Αν το πιστοποιητικό έχει λήξει ή το όνομα host δεν ταιριάζει, το πρόβλημα είναι στην πλευρά του διακομιστή.

Τι σημαίνει το σφάλμα curl 7 (αποτυχία σύνδεσης);

Το σφάλμα 7 σημαίνει ότι το curl ανέλυσε το όνομα host σε διεύθυνση IP αλλά δεν μπόρεσε να δημιουργήσει σύνδεση TCP. Ο διακομιστής απέρριψε ενεργά τη σύνδεση ή η προσπάθεια σύνδεσης έληξε σε επίπεδο δικτύου. Συνηθισμένες αιτίες: η υπηρεσία δεν εκτελείται στον host-στόχο (ελέγξτε με systemctl status ή docker ps), ένα τείχος προστασίας μπλοκάρει τη θύρα (δοκιμάστε με telnet host port), χρησιμοποιείτε λάθος θύρα (π.χ. 80 αντί 443 ή 8080 για διακομιστή ανάπτυξης) ή η ουρά αναμονής του διακομιστή είναι γεμάτη υπό υψηλό φόρτο. Για αποσφαλμάτωση: χρησιμοποιήστε curl -v URL και αναζητήστε "Connected to" ή "Connection refused" στην έξοδο.