תוכן עניינים:
- שלב 1: אסוף חומרים
- שלב 2: מצא את הכותרות הדרושות ליצירת הפעלה
- שלב 3: הכינו את הקוד
- שלב 4: שלח את האותות הנכונים
- שלב 5: עוגיות ממוכנות
- שלב 6: מפתח ללב
וִידֵאוֹ: בחינת אתר אייאקס עם טופס כניסה אסינכרוני: 6 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
הבעיה: כלי שיקול אינם מאפשרים אימות כניסה ל- AJAX.
מדריך זה יראה לך כיצד להיכנס באמצעות טופס AJAX באמצעות Python ומודול בשם Mechanize. עכבישים הם תוכניות אוטומציה באינטרנט שהופכות לאנשים לאסוף מידע מקוון יותר ויותר. הם זוחלים ברחבי האינטרנט ואוספים חומרים יקרים כדי לתדלק את חברות האינטרנט החזקות ביותר בסביבה. אחרים זוחלים מסביב ואוספים קבוצות נתונים ספציפיות כדי לשפר את קבלת ההחלטות, או להסיק מה יש כרגע, או למצוא את מסלולי הנסיעה הזולים ביותר. עכבישים (סורקי אינטרנט, וובוטים או מגרדי מסך) נהדרים להפיכת גוגל HTML למראית עין של נתונים חכמים, אך יש לנו בעיה בכל הנוגע לדפי אינטרנט המופעלים על ידי AJAX שיש בהם הפעלות JavaScript ועוגיות שאינן ניווט עם התקן הרגיל קבוצה של כלי הסתכלות. במדריך זה נגיע לדף החברים שלנו באתר pubmatic.com. שלבים אלה יראו לך שיטה להמשך, אך הדף שלך יהיה שונה. תעשה חיים!
שלב 1: אסוף חומרים
יהיה עליך להתחיל להשלים את משאבי התכנות שלך. תזדקק לתוכניות הבאות. השתמש במדריכים שלהם כדי לעזור לך להתקין את אלה … התקן Firebug זהו תוסף של Firefox התקן את PythonGo אל: python.org עבור אל: python.org התקן את מודול ה- Mechanize קבל את Mechanize קבל את המנגנון כלים שימושיים אחרים בחישוב: BeautifulSoup
שלב 2: מצא את הכותרות הדרושות ליצירת הפעלה
עכביש בעל מבנה טוב יכנס לדף אינטרנט כאילו היה דפדפן הנשלט על ידי בן אדם ושומר על רמזים לגבי מוצאו האמיתי מוסתר. חלק מהאינטראקציה בין דפדפנים לשרתים מתרחשת באמצעות בקשות GET ו- POST שתוכלו למצוא בכותרות (מידע זה מוצג לעתים נדירות בדפדפן, אך הוא חשוב מאוד). תוכל להציג חלק מהמידע הזה על ידי הקשה על Ctrl I (ב- Firefox) כדי לפתוח את חלון פרטי הדף. כדי להסוות את עצמך כדפדפן נימוס, עליך לזהות את עצמך באמצעות אותם אישורים. אם ניסית להיכנס ל- pubmatic עם JavaScript מושבת בדפדפן שלך לא תוכל להגיע רחוק מאוד מכיוון שההפניות מחדש נעשות באמצעות javascript. אז בהתחשב בכך שלרוב דפדפני העכביש אין מתורגמי javascript נצטרך לקבל את הכניסה דרך דרך חלופית. נתחיל בלשלוח את פרטי הכותרת מהדפדפן בעת לחיצה על שלח. אם זה היה כניסה רגילה לדפדפן, היית משתמש ב- Mechanize כדי למלא את הטופס וללחוץ על שלח. טפסי התחברות רגילים מכוסים בתוך תג … ו- Mechanize תוכל לשלוח זאת ולסקור את העמוד הבא ללא בעיות. מכיוון שאין לנו תג טופס מלא, פונקציית השליחה מטופלת על ידי javascript. בואו לבדוק את הפונקציה submitForm של pubmatic. לשם כך, פתח תחילה את דף האינטרנט ב- Firefox והפעל את באג האש על ידי לחיצה על הגחלית בפינה הימנית התחתונה. לאחר מכן לחץ על כרטיסיית הסקריפט, העתק את כל הקוד שמופיע והדבק אותו בתוכנת עריכת הטקסט האהובה עליך. לאחר מכן תוכל למחוק את כל הקוד למעט הפונקציה submitForm. זה מתחיל בפונקציה "submitForm (theform) {" וכל מה שביניהם לבין הפונקציות שסוגרות סוגר מתולתל "}". בניתוח פונקציה זו פרימיטיבית מאוד אנו מבחינים שקורה אימות כלשהו שמחזיר משתנה בשם xmldoc שניתח כ- XML. זוהי תכונה מרכזית של AJAX שהיא סקרה את השרת והחזירה מסמך XML שמכיל עץ מידע. הצומת session_id מכיל את session_id אם האימות הצליח, תוכל לדעת זאת על ידי הסתכלות בקטע הקוד הזה: "if (session_id! = Null) {// התחברות מוצלחת". כעת אנו רוצים למנוע מקצת JavaScript זו לקחת אותנו לשום מקום כדי שנוכל לראות מה מתפרסם בשרת במהלך האימות. לשם כך אנו מעירים את כל הפניות החלונות שנראות כך: "window.location = …". כדי להגיב על כך הוסף כותרות כפולות לפניהם כך: "//window.location…" זה מונע את הפעלת הקוד. אתה יכול להוריד את קובץ ה- Javascript למטה ובו עריכות אלה כבר בוצעו. העתק והדבק את קובץ ה- Javascript העריך הזה בצד ימין של חלונות הקונסולה ולחץ על הפעלה. זה עוקף את פונקציית javascript שכבר נמצאת בדף עם הגרסה החדשה שלנו. עכשיו כשאתה ממלא את האישורים ולחץ על שלח אתה אמור לראות מידע POST ו- GET כותרת ממלא את הקונסולה, אבל אתה לא הולך לשום מקום. פרטי POST הם המידע שצולם לשרת על ידי פונקציות AJAX, אתה רוצה להיות כמה שיותר כמו זה ככל האפשר, העתק והדבק מידע זה בפנקס הרשימות.
שלב 3: הכינו את הקוד
לפני שנוסיף את הכותרות החדשות שמצאנו בואו ניצור קוד פיתון התחברות לתכנן את המיכון. אנו עושים זאת משתי סיבות, ראשית, כך שיש לנו רכיב שעובד להוספת דברים חדשים ושנית, כך שתראה כיצד אתה בדרך כלל מתחבר לדף אינטרנט שאינו AJAX-y. פתח פנקס רשימות או מקביל, והעתק והדבק את הבא. כשתסיים שמור אותו בשם youfilename.py במקום שאתה יכול למצוא.#!/Usr/bin/python#-*-קידוד: utf-8-*-#התחל עם ייבוא המודולים שלך: ממיכון דפדפן הייבוא#צור את מופע דפדפן באמצעות שיחת הפונקציה Browser (); br = Browser ()#הגדר את הדפדפן כך שיתעלם מבקשות spiders.txt#בצע זאת בזהירות, אם דף האינטרנט לא אוהב עכבישים, הם עלולים להתעצבן למצוא אותך שם.set_handle_robots (שקר) #פתח את הדף שאליו ברצונך להתחבר tobr.open ("https://pubmatic.com/04_betasignin.jsp") #מכיוון שאני יודע את שם הטופס, אני יכול פשוט לבחור את הטופס לפי שם ה- name.select_form ("התחברות")#באמצעות שמות רכיבי הטופס אני מזין את שמות הטופס elementbr ['email'] = "[email protected]" br ['password'] = "Asquid22"#br.submit () שולח את הטופס ומושך את הדף שהתקבל, אתה יוצר מופע דפדפן חדש#תגובה למטה מכיל את תגובת הדף המתקבלת = br.submit ()#פעולה זו תדפיס את גוף הדף שהתקבל#תגובת הדפסה.קריאה ()
שלב 4: שלח את האותות הנכונים
ל- Mechanize יש פונקציה קלה להוספת כותרות לכותרות POST, הדבר יאפשר לנו להופיע לאותו דפדפן בו השתמשת בכניסה לדף בפעם הראשונה. פתח את הקובץ עם כותרות שמצאת באמצעות Firebug וערוך קובץ טקסט זה כך שיתאים. החלף את כל מה שבציטוטים בפריט הנכון מרשימת הכותרות: USER_AGENT = "Mozilla/5.0 (X11; U; Linux i686; tr-TR; rv: 1.8.1.9) Gecko/20071102 Pardus/2007 Firefox/2.0.0.9" HOST = "pubmatic.com" ACCEPT = "text/xml, application/xml, application/xhtml+xml, text/html; q = 0.9, text/plain; q = 0.8, image/png, */ *; q = 0.5 "ACCEPT_LANGUAGE =" en-us, en; q = 0.5 "ACCEPT_ENCODING =" gzip, deflate "ACCEPT_CHARSET =" ISO-8859-1, utf-8; q = 0.7, *; q = 0.7 "KEEP_ALIVE =" 300 " CONNECTION = "שמור על חיים" CONTENT_TYPE = "יישום/x-www-form-urlencoded" REFERER = "https://pubmatic.com/04_betasignin.jsp"CONTENT_LENGTH =" 60 "COOKIE =" utma = 103266945.1970108054.12101130012.121210; KADUSERCOOKIE = EA2C3249-E822-456E-847A-1FF0D4085A85; utmz = 103266945.1210113004.1.1.utmccn = (ישיר) | utmcsr = (ישיר) | utmcmd = (ללא); JSESSIONID = 60F194BE2A5D31C3E8618995EB82C3C1. TomcatTwo; utmc = 103,266,945 "Pragma =" no-cache "CACHE_CONTROL =" no-cache "פעולה זו יוצרת קבוצת משתנים שבהם תוכל להשתמש כדי לצרף אלינו את הכותרת באמצעות קוד זה: br.add_header = [("מארח", HOST)] br.add_headers = [("User-agent", USER_AGENT)] br.add_headers = [("קבל", ACCEPT)] br.add_header = [("Accept-Language", ACCEPT_LANGUAGE)] br.add_headers = [("Accept-Encoding", ACCEPT_ENCODING)] br.add_headers = [("Accept-Charset", ACCEPT_CHARSET)] br.add_header = [("Keep-Alive) ", KEEP_ALIVE)] br.add_headers = [(" חיבור ", חיבור)] br.add_header = [(" סוג תוכן ", CONTENT_TYPE)] br.add_header = [(" מפנה ", מפנה)] br.add_header = [("אורך התוכן", CONTENT_LENGTH)] br.add_headers = [("Cookie", COOKIE)] br.add_headers = [("Pragma", PRAGMA)] br.add_headers = [("Cache-Control", CACHE_CONTROL)] כעת כאשר אנו קוראים לפונקציית פתיחת הדף הכותרות יישלחו גם לשרת. br.open ("https://pubmatic.com/04_betasignin.jsp")
שלב 5: עוגיות ממוכנות
שלב זה נובע מכך שמכניזם אוטומטי של טיפול בקובצי cookie, אך חשוב לדעת מה קורה:
כאשר הטופס נשלח יש לך את הכותרות הנכונות כאילו שלחת באמצעות הפונקציה javascript. לאחר מכן השרת מאמת מידע זה ויוצר מזהה הפעלה ושומר אותו בקובץ cookie אם שם המשתמש והסיסמה נכונים. החדשות הטובות הן 'מיכון' אוכלת באופן אוטומטי קובץ עוגיות, כך שלא תדאג לשלוח ולקבל את העוגיה. אז לאחר שתיצור מזהה הפעלה שעובד תוכל להיכנס למקטע החברים בלבד באתר.
שלב 6: מפתח ללב
כעת, לאחר שרכשנו מזהה הפעלה ומכנין שמרנו אותו בקובצי ה- cookie שלו, נוכל לעקוב אחר javascript כדי לראות לאן עלינו להגיע. מבט אל תוך "if (session_id! = Null) {// התחברות מוצלחת" כדי לראות לאן להמשיך בהצלחה. מסתכלים על קוד העברת החלון: "if (adurlbase.search (/pubmatic.com/)! = -1) {window.location =" https://pubmatic.com/05_homeloggedin.jsp " +"? V = " + Math.random ()*10000; " אנו רואים שעלינו להיכנס לאתר הממוקם בכתובת https://pubmatic.com/05_homeloggedin.jsp?v= מספר מספר אקראי. אז בואו פשוט ליצור מספר אקראי מזויף להיכנס וליצור מופע דפדפן חדש לקריאת הדף שנפתח לאחרונה: response2 = br.open ("https://pubmatic.com/05_homeloggedin.jsp?v=2703") וזה צריך שיהיה. הקוד שלך הושלם כעת, על ידי שימוש בכותרות המתאימות ובמנגנון קובצי ה- Cookie המתאים אנו יכולים כעת לגשת לפנים הפנימיות של pubmatic. פתח את הטרמינל, טען את חבילת הפייתון למטה והתחבר משם. לשם כך הקלד python2.5 ולאחר מכן את הנתיב הקובץ לקובץ.py.
מוּמלָץ:
זיהוי מכשולים באופן אסינכרוני באמצעות אולטרסאונד: 4 שלבים
לזהות מכשולים באופן אסינכרוני עם אולטרסאונד: אני בונה בשביל הכיף רובוט שאני רוצה להעביר באופן אוטונומי בתוך בית. זוהי עבודה ארוכה ואני עושה צעד אחר צעד. ההתמקדות המדריכה הזו באיתור מכשולים עם Arduino Mega. חיישנים אולטראסוניים HC-SR04 לעומת HY-SRF05 זולים
HackerBox 0052: טופס חופשי: 10 שלבים
HackerBox 0052: טופס חופשי: ברכות להאקרים של האקרבוקס ברחבי העולם! HackerBox 0052 בוחנת את יצירת פסלי מעגלים חופשיים הכוללים דוגמת צ'ייסר LED ובחירת המבנים שלך המבוססים על מודולי LED WS2812 RGB. ה- Arduino IDE מוגדר עבור
צור טופס סליל רדיו קריסטל: 7 שלבים
צור טופס סליל רדיו קריסטל: מדריך זה יעזור לך ליצור צינור חזק ויציב שעליו לסובב סליל תיל. מכשירי רדיו קריסטל, או מכשירי רדיו "חור שועל" עדיין מהנים, מאה שנים לאחר שבנים ובנות החלו לייצר אותם בשנים הראשונות של הרדיו. אמנם הרבה דברים
יצירת טופס אינטרנט: 6 שלבים
יצירת טופס אינטרנט: זוהי הוראה פשוטה כיצד ליצור טופס אינטרנט. זו תהיה הקדמה קטנה לאופן יצירת האתר וכיצד לשים עליו תוכן ועל מה ניתן להרחיב בעתיד
כניסה לפרסום נייד על הזול ב -10 שלבים בלבד !!: 13 שלבים (עם תמונות)
שלט פרסום נייד בזול ב -10 שלבים בלבד!: הכינו שלט פרסום נייד משלכם, זול. עם שלט זה תוכל להציג את ההודעה או הלוגו שלך בכל מקום לכל אחד ברחבי העיר. מדריך זה הוא תגובה ל/שיפור/שינוי של: https://www.instructables.com/id/Low-Cost-Illuminated