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

 

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

Πρόβλημα με το ftpwebrequest

Îåêßíçóå áðü ôï ìÝëïò Ch_Chalatsis. Τελευταία δημοσίευση από το μέλος Ch_Chalatsis στις 01-02-2023, 14:16. Υπάρχουν 12 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  29-01-2023, 21:53 78668

    Πρόβλημα με το ftpwebrequest

    Καλησπέρα σε όλους. Θα ήθελα εάν κάποιος γνωρίζει να με βοηθήσει γιατί ειλικρινά δεν ξέρω τι άλλο να κάνω. Εφαρμογή την οποία έχω αναπτύξει εδώ και δυο ΧΡΟΝΙΑ τρέχει κανονικά σε όλα τα windows version αλλά ξαφνικά αντιμετώπισα το εξής. Σε έναν υπολογιστή με windows 7 δεν μου δουλεύει η εντολή frpwebrequest. 
    Δοκίμασα σχεδόν τα πάντα. Active και Passive mode, πόρτες εάν είναι κλειστές, TLS1….1.2, SSL κι άλλα. Έχει αντιμετωπίσει κάνεις κάτι παρόμοιο;;;
    Ευχαριστώ.  
  •  30-01-2023, 09:45 78669 σε απάντηση της 78668

    Απ: Πρόβλημα με το ftpwebrequest

    Καταρχήν τα Windows 7 είναι χειρότερα κι από Unsupported, έχουν περάσει και το End-Of-Life. Δεν έχουν ούτε security updates πλέον που σημαίνει το μηχάνημα είναι εντελός απροστάτευτο. 

    Δεύτερον, τί σημαίνει δεν δουλεύει? Ποιό είναι το exception? Δοκίμασες να συνδεθείς με FTP από το command line ή με κάποια άλλη εφαρμογή FTP? Μήπως το πρόβλημα οφείλεται στο server? Το FtpWebRequest ήταν μια όχι και πολύ επιτυχημένη προσπάθεια να φτιαχτεί ένα API για FTP που να μοιάζει με HTTP. Αλλά το FTP είναι πολύ πιο περίεργο από το HTTP, και κάποια πράγματα "χάνονται στη μετάφραση". Επιπλέον, πολλά πράγματα δεν είναι στάνταρ, ούτε καν το αποτέλεσμα της LIST.

    Το FTP δεν χρησιμοποιεί TLS. Η encrypted παραλλαγή είναι το SFTP το οποίο δεν έχει μεγάλη σχέση με το FTP. Το FTPS είναι καθαρά επέκταση της Microsoft και χρησιμοποιείται κυρίως, αν όχι μόνο, στον IIS. Η έκδοση TLS που χρησιμοποιείται εξαρτάται από το λειτουργικό. Αν ο IIS είναι σε κάποιο supported Windows Server, θα απαιτεί TLS 1.2, κάτι που τα Windows 7 δεν υποστηρίζουν χωρίς patching.

    Το βασικό είναι να προσπαθήσεις να συνδεθείς με FTP από το command line. Αν αυτό δεν δουλεύει, δεν πρόκειται να δουλέψει ούτε το FtpWebRequest.

    Και τα Windows 7 θέλουν αντικατάσταση.  


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  30-01-2023, 13:13 78670 σε απάντηση της 78669

    Απ: Πρόβλημα με το ftpwebrequest

    Καλημέρα. Σε ευχαριστώ για την ανταπόκριση. Όλα όσα προανέφερες τα γνωρίζω και συμφωνώ πως τα 7 είναι τα χειρότερα αλλά σε πολλά windows 7 η εφαρμογή τρέχει κανονικά εκτός από αυτό το ένα. 
    Το exception είναι 227 Entering Passive Mode(x,x,x,x,x) όπου x αριθμός. 
    Το θέμα είναι ότι δοκίμασα με command να συνδεθώ με FTP και δεν δουλεύει. 
    Και ψάχνω να βρω, τι φταίει.
    Είναι το firewall?….το έψαξα δέν είναι από εκεί!
    Είναι το router ?..το έψαξα δέν είναι από εκεί!
     Μήπως φτάνει η ίδια η εγκατάσταση των windows?(Ως λύση να κάνω format?)
     
    Κι όσον αφορά το ftpwebrequest υπάρχει κάποιο άλλο api που να δουλεύει σωστά;; 
  •  30-01-2023, 15:04 78671 σε απάντηση της 78670

    Απ: Πρόβλημα με το ftpwebrequest

    Καλησπέρα σου,

    Το passive mode στο FTP, είναι λίγο "δύσκολο" - γενικά όταν έχεις active connection, ο υπολογιστής που συνδέεται θα χρησιμοποιήσει το 21/TCP για να στείλει δεδομένα και 20/TCP να λάβει δεδομένα - οπότε χρειάζεται να έχει ένα rule για να επιτρέπονται οι inbound συνδέσεις στην 20/TCP.

    Με το passive, το εγχείρημα δυσκολεύει καθώς ο server διαλέγει την θύρα που θα απαντήσει, μέσα από ένα εύρος που έχει καθορίσει ο διαχειριστής του server. Οπότε ο client πρέπει να έχει ανοιχτό ένα εύρος θυρών για να μπορεί να λάβει δεδομένα.

    Αν ο server που πρέπει να έχεις πρόσβαση δεν είναι public FTP από μεγάλο οργανισμό, και αν είσαι πίσω από firewall, το βλέπω πολύ απίθανο να μπορείς να έχει πρόσβαση μέσω FTP σε server πέρα από το firewall με passive connection.

    Σε συνέχει όσων σου είπε ο Παναγιώτης, το FtpWebRequest ήταν κάτι που φτιάχτηκε στις πρώτες εκδόσεις του .NET Framework και γενικά δεν είναι ο καλύτερος τρόπος για FTP. Αν είναι για ένα URL που κατεβάζεις περιοδικά δεδομένα, είναι εντάξει, αλλά άμα το θες για να κάνεις traverse φακέλους και να βλέπεις περιεχόμενα, είναι προτιμότερο να χρησιμοποιήσεις κάτι πιο προσανατολισμένο να κάνει αυτή τη δουλεία - θα μπορούσες να δεις το FluentFTP (https://github.com/robinrodricks/FluentFTP) για κάτι τέτοιο.

     

    Φιλικά,

    George J.

     


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

    Απ: Πρόβλημα με το ftpwebrequest

    Σε ευχαριστώ πολύ για την ανταπόκριση. 
    Θα δοκιμάσω το FluentFtp όπως επίσης να κάνω port forward τις πόρτες 
    Ευχαριστώ πολύ.  
  •  30-01-2023, 17:27 78673 σε απάντηση της 78672

    Απ: Πρόβλημα με το ftpwebrequest

    Αν δεν δουλεύει το `ftp` δεν θα δουλέψει ούτε το FluentFTP. Το URL που χρησιμοποιείς είναι ftp ή ftps? Γιατί ανέφερες το TLS? Αν είναι όντως FTPS μάλλον τα Windows 7 δεν έχουν τα κατάλληλα patches που ενεργοποιούν το TLS 1.2.

    To 227 Entering Passive Mode(x,x,x,x,x) δεν είναι error αλλά απλό μήνυμα 


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  31-01-2023, 13:21 78674 σε απάντηση της 78673

    Απ: Πρόβλημα με το ftpwebrequest

    Καλησπέρα. Το url είναι ftp απλά προσπάθησα να αποκλείσω όλα τα πιθανά σενάρια κάνοντας δοκιμές. Αυτό που μου κάνει εντύπωση είναι πως σε 20 υπολογιστές που έχουν windows 7, η εφαρμογή δουλευει κανονικά ενώ σε αυτόν τον εναν δεν δουλεύει.!!
  •  01-02-2023, 09:00 78675 σε απάντηση της 78674

    Απ: Πρόβλημα με το ftpwebrequest

    Καλημέρα,

    Από command-line με την εντολή FTP δοκίμασες να συνδεθείς; Αν συνδεθείς, τότε το πρόβλημα δεν έχει να κάνει με το firewall - το πιθανότερο είναι να έχει να κάνει με το .NET Framework... Και το επόμενο είναι αν ο υπολογιστής που έχει πρόβλημα, έχει πάρει updates.

    Α, έχεις στον υπολογιστή κάποιο antivirus που έχεις εγκαταστήσει και έχει firewall; Πχ Avast; 

     

    George J.



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

    Απ: Πρόβλημα με το ftpwebrequest

    Καλημέρα. 
    Δοκίμασα από το command-line ναι και δεν συνδέεται. Σε κάθε εγκατάσταση (εγώ έκανα οπλές τις εγκαταστάσεις των windows 7 σε όλους τους υπολογιστές) τα patchies είναι ίδια. Όπως επίσης κάνω παντα εγκατάσταση το framework 4.7.2 που χρειάζομαι. Αυτό που μένει είναι το router, το οποίο και πάλι ανοίγω τις πόρτες, αλλά τίποτα!!!! 
    Δέν ξέρω ειλικρινά… σαν μόνη λύση έχω το να κάνω format αλλά και  πάλι δέν ειμαι σίγουρος πλέον εάν θα λύσει το πρόβλημα στον συγκεκριμένο ο υπολογιστή!!
    Υπάρχει περίπτωση να φταίει  το hardware?  Θέλω να πω να δοκιμάσω να αλλάξω κάρτα δικτύου ή να αλλάξω router; 
  •  01-02-2023, 12:05 78677 σε απάντηση της 78676

    Απ: Πρόβλημα με το ftpwebrequest

    Καλημέρα,

    Αφού από command-line δεν συνδέεται, δεν φταίει η εφαρμογή σου, δεν φταίει το .NET Framework. Κάπου αλλού οφείλεται το πρόβλημα.

    Θα σου πρότεινα να κάνεις reset το firewall του υπολογιστή στο default settings και να δοκιμάσεις και πάλι να κάνεις τα inbound rules για την εφαρμογή σου.

     

    George J.

     


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

    Απ: Πρόβλημα με το ftpwebrequest

    Το έχω κάνει κι αυτό!

    Εχω καταλήξει σε δυο πραματα. Είτε φταίει η εγκατάσταση σαν εγκατάσταση (ίσως δεν  φορτώνουν σωστά τα Net.Sockets) είτε φταίει το router οπότε και χρειάζεται αντικατάσταση. Αλλά και πάλι δέν είμαι σίγουρος. 

  •  01-02-2023, 14:00 78679 σε απάντηση της 78678

    Απ: Πρόβλημα με το ftpwebrequest

    Αν υπήρχε πρόβλημα με τους network drivers του μηχανήματος δεν θα μπορούσε να δει τίποτε. Το θέμα είναι δικτυακό και θα πρέπει να δεις τι φταίει. Γιατί αναφέρεις ότι το router θέλει αντικατάσταση? Δεν συνδέονται όλοι πάνω από το ίδιο router?

    Αν τρέχεις την εφαρμογή σε 20 διαφορετικούς πελάτες μέσω του router του κάθε πελάτη, δεν είναι καθόλου περίεργο ότι κάποια μηχανήματα θα έχουν πρόβλημα. Μπορεί να αλλάξανε τις ρυθμίσεις του router, να κόψανε "περίεργα" ports είτε οι ίδιοι είτε ο πάροχος. Αν η σύνδεση είναι μέσω mobile network, έχεις και τις παραξενιές του data shaping να αντιμετωπίσεις. Κάποιες εταιρείες τηλεφωνίας κόβουν τα περισσότερα ports και πρωτόκολλά, ακόμα και το VPN,  στις "απλές" συνδέσεις και απαιτούν "εταιρικές" συνδέσεις. Δεν τους κοστίζει τίποτε, απλά το κάνουν για να σε ξεζουμίσουν.

    Σε κάθε περίπτωση θα πρέπει να αντιμετωπίσεις το πρόβλημα σαν πρόβλημα δικτύου. Καταρχήν, μπορεί το μηχάνημα να βρει την IP του server? Αυτό θα το δεις με `nslookup the.server.name`. Αν αυτό δουλέψει θα σου επιστρέψει το IP του server. 

    Αν έχεις ήδη το IP ή αν πέτυχε το nslookup μπορείς να κάνεις `ping ...` ή `tracert ...` για να δεις αν φτάνουν κλήσεις στο server. To `ping` μπορεί να μη δουλέψει αν το κόβει ο ISP ή κάποιο ενδιάμεσο proxy. 

    Τέλος, μπορείς να δοκιμάσεις `telnet IP 21` πχ `telnet 10.11.12.245 21`. Το FTP ουσιαστικά δουλεύει σαν ένα text terminal στο port 21 και μπορείς να συνδεθείς εκεί με telnet. Αν τα nslookup, tracert δουλεύουν αλλά το ftp ή το telnet κολλάνε, σημαίνει ότι κάποιο firewall τα μπλοκάρει

     


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  01-02-2023, 14:16 78680 σε απάντηση της 78679

    Απ: Πρόβλημα με το ftpwebrequest

    Ναι τρεχει σε 20 διαφορετικούς πελάτες μέσω του router του πελάτη. 
    Θα κάνω όλες αυτές τις ενέργειες που μου προτείνεις, η αλήθεια είναι πως ξέχασα
    να τα κάνω αυτά. Η λογική όντως λέει πως είναι πρόβλημα δικτύου. 
    Σε ευχαριστώ πολύ και πάλι για την ανταπόκριση και το χρόνο σου.  
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems