Jump to content



προγραμμα σε perl(?)


oxide

Recommended Posts

Λοιπον:p

θελω να κανω ενα προγραμματακι που να δοκιμαζει αν υπαρχουν καποιες ιστοσελιδες...

παραδειγμα

test.com/1111

test.com/1112

test.com/1113

οπως καταλαβαινετε βασικος παραγοντας ειναι η ταχυτητα...και απο οσο εψαξα μαλλον τα requests θα πρεπει να γινονται ταυτοχρονα ανα 3-4-5...

θεωρω οτι η perl ειναι μια καλη επιλογη...αλλα δεν μπορεσα να βρω κατι που να με βοηθησει ιδιαιτερα...

εχετε να προτινετε κατι,εστω και σε αλλη γλωσσα?

Υπαρχει καποιο ετοιμο προγραμμα(ακομα και commercial) για να περιεργαστω λιγο?

Link to comment
Share on other sites

Και ένα απλό batch θα σου έκανε τη δουλειά πιστεύω, αν και δεν έχω καταλάβει για τι ακριβώς χρήση το θελεις. Δηλαδή:


@echo off
cls
ping yoursite0.com -n 1 > results0.txt
ping yoursite1.com -n 1 > results1.txt

ευχαριστω για την απαντηση...

το εξηγω καλυτερα...δεν θελω να ελεγχω αν υπαρχει η ιστοσελιδα αλλα αν υπαρχει το 1111.html,1112.html κτλ...

η ping μαλλον ειναι πολυ αργη για τετοια δουλεια...αφου μεχρι το 9999.html θα κανει κανενα χρονο ισως και περισσοτερο.

Link to comment
Share on other sites

To πρόβλημα είναι πιο σύνθετο...

Αν είναι απλά html αρχεία είναι εύκολο και το μόνο που θες είναι να διαβάζεις το http response code, το οποίο επιστρέφεται μέσω tcp από τον web server ή αν δεν υπάρχει καν ο web server από τον domain server του provider σου...

Αν οι σελίδες/links είναι πίσω από έναν web server, όπως του lab που είναι βασισμένος σε php τότε δεν είναι εύκολο και δεν μπορείς να βγάλεις άκρη βάση του http resp code, γιατί πάντα ο web server θα επιστρεφει 200/ΟΚ καθώς θα φορτώνει κανονικά μια σελίδα με το σφάλμα... πχ το link του thread είναι

http://www.thelab.gr/showthread.php?t=67439

αν αντί γι' αυτό γράψεις

http://www.thelab.gr/showthread.php?t=67439234234234

Δεν θα σου επιστρέψει σφάλμα ο server ότι δεν υπάρχει η σελίδα, αλλά μια κανονική σελίδα με σωστό http resp code, η οποία αυτή θα σε ενημερώνει... Στην περίπτωση αυτή χρειάζεσαι άλλες μεθόδους "πιο έξυπνες" για να προβλέπεις τις καταστάσεις αυτές...

Όσων αφορά τα http response codes μπορείς να τα δεις εδώ...

Προγραμματιστικά, αρκεί να διαβάσεις μέσω του tcp τον header του http πακέτο ο οποίος θα περιέχει κάτι τέτοιο...:

HTTP/1.1 404 Not Found

Μπορείς τέλος να παίξεις με το wireshark και να βάλεις ένα φίλτρο για να βλέπεις τα http responses έτσι ώστε να μπεις στο πνεύμα...

http://imageshack.gr/files/57ez6i8kexi6hgcdqw9f.png

Link to comment
Share on other sites

Αν ειναι stantar τα μυνηματα που επιστρεφονται απο τον web server, τοτε με ενα wget και ενα search της σελιδας μετα για μερικα keywords κανεις δουλεια.

standar ειναι αλλα εχω στην καλυτερη 9999 συνδιασμους και αυτος ο τροπος απο οσο εχω ψαξει ειναι αργος...

βεβαια μπορω να κανω 4-5 παραλληλα τεστ αν επιστραφηκε το μνμ που θα μειωνε τον χρονο αλλα και παλι οχι σε λογικα πλαισια...

κανω λαθος?

Link to comment
Share on other sites

Τι ειναι λογικος χρονος για σενα? Θα το κανεις πολλες φορες που σε νοιαζει τοσο ο χρονος? Γιατι τελικα της σελιδα θα αναγκαστεις να την κατεβασεις οπου εκει χανεις τον χρονο τελικα.

Link to comment
Share on other sites

Αν το κάνεις πολύ γρήγορα μπορεί να φας και πόρτα από το server, αν λαμβάνει τέτοια μέτρα. Μπορεί να θεωρηθείς DoS.

Από τις σελίδες που θα κατεβάσεις, θες κάποια δεδομένα? Ίσως μπορώ να σε καλύψω με ελάχιστο κόπο.

Link to comment
Share on other sites

βεβαια μπορω να κανω 4-5 παραλληλα τεστ αν επιστραφηκε το μνμ που θα μειωνε τον χρονο αλλα και παλι οχι σε λογικα πλαισια...

κανω λαθος?

Ο πιο απλός τρόπος να δεις απο php (αν το domain είναι random) αν είναι valid ή όχι το λινκ του server, είναι το μέγεθος του αρχείου που θα σου επιστρέψει... αν το μέγεθος είναι μικρό πχ της τάξης των <=20Κb τότε κατά πάσα πιθανότητα δεν υπάρχει η σελίδα που ζητάς, οπότε επειδή αυτές οι σελίδες που σε ενημερώνουν για το λάθος ειναι λιτές και περιέχουν πολύ λίγες συντομεύσεις και κώδικα δεν ξεπερνούν σε μέγεθος μερικά Kb... Αυτή η μέθοδος είναι προσεγγιστική και δεν είναι 100% αποδοτική...

Αν από την άλλη ξέρεις απο πριν την απάντηση του web server όταν δεν μπορεί να επιστρέψει μια σελίδα, τότε διαβάζεις τα keywords, πχ στο lab λέει...:

Δε διευκρινίσατε Θέμα. Αν έχετε ακολουθήσει ένα έγκυρο link, παρακαλώ να ενημερώσετε τον administrator του TheLab.gr
Link to comment
Share on other sites

unstoppable οχι δεν θα γινει πολλες φορες...αλλα και μια να γινει 9999 αιτησεις ειναι αρκετες...βεβαια εκανα μερικους υπολογισμους και οντως δεν θα κανει πολλες ωρες (αν και μπορω να περιμενω και μερες)....σε περιπτωση που εχω ομως αλφαριθμητικα δλδ απο 10^4 γινεται 36^4 τοτε κανει περισσοτερο χρονο...αυτο φοβαμαι.

neuromancer οντως μπορει να θεωρηθει dos αλλα μπορω να ενημερωσω απο πριν τον διαχειριστη για να μην υπαρξει προβλημα...

jaco καποια γλωσσα που να βοηθαει εχει να προτεινεις ?

Link to comment
Share on other sites

Αν μπορείς να μιλήσεις με το διαχειριστή τότε τι κάθεσαι και παιδεύεσαι με τέτοια.... Ρώτα ποιες υπάρχουν και τελείωνει το θέμα. :patsak:

Στην perl δες τη mechanize library (ή κάπως έτσι).

Link to comment
Share on other sites

Αν μιλάμε για Linux, οποιαδήποτε script γλώσσα κάνει... ακόμα και bash script (wget & grep), αλλά η perl θα είναι μάλλον πιο γρήγορη...

Όπου νιώθεις πιο άνετα ή όποιο script θες να μάθεις, το αποτέλεσμα το ίδιο θα είναι...

Link to comment
Share on other sites

Αν μπορείς να μιλήσεις με το διαχειριστή τότε τι κάθεσαι και παιδεύεσαι με τέτοια.... Ρώτα ποιες υπάρχουν και τελείωνει το θέμα. :patsak:

Στην perl δες τη mechanize library (ή κάπως έτσι).

:laughing:οχι απλα πρεπει να γινεται αυτοματοποιημενα...να μην τον απασχολω συνεχεια

οκ ευχαριστω παιδια μου δοσατε καποιες κατευθυνσεις τωρα αρχιζει το ψαξιμο...

μαλλον με perl θα παω...

thx:dirol:

Link to comment
Share on other sites

μαλλον με perl θα παω...

Η perl είναι μια πολύ καλή επιλογή.

Θυμάμαι στα πλαίσια ενός project μιας παρόμοιας υλοποίησης που πέταγε (ειδικά άμα παίξεις και με threads).

Βέβαια όπως είπαν και τα παιδιά παραπάνω το παν είναι να σκεφτείς έναν έξυπνο τρόπο υλοποίησης, που θα κάνει το script σου ακόμα πιο λειτουργικό κ γρήγορο. :victory:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.