Wie Sie eine vollständige Liste aller URLs in Ihrer Rails-Anwendung erhalten
Автор: vlogize
Загружено: 2025-11-12
Просмотров: 0
Описание:
Erfahren Sie, wie Sie effektiv eine vollständige Liste aller `URLs` in Ihrer Ruby on Rails-Anwendung für Lasttests und mehr generieren können.
---
Dieses Video basiert auf der Frage https://stackoverflow.com/q/84290/ gestellt von dem Nutzer 'Laurie Young' ( https://stackoverflow.com/u/7473/ ) sowie auf der Antwort https://stackoverflow.com/a/90868/ bereitgestellt von dem Nutzer 'kch' ( https://stackoverflow.com/u/13989/ ) auf der Website 'Stack Overflow'. Vielen Dank an diese großartigen Nutzer und die Stackexchange-Community für ihre Beiträge.
Besuchen Sie diese Links, um den Originalinhalt und weitere Details zu sehen, z. B. alternative Lösungen, aktuelle Entwicklungen zum Thema, Kommentare, Versionsverlauf usw. Der ursprüngliche Titel der Frage lautete beispielsweise: Getting a full list of the URLS in a rails application
Außerdem steht der Inhalt (außer Musik) unter der Lizenz CC BY-SA https://meta.stackexchange.com/help/l...
Der ursprüngliche Fragenbeitrag steht unter der Lizenz 'CC BY-SA 2.5' ( https://creativecommons.org/licenses/... ), und der ursprüngliche Antwortbeitrag steht unter der Lizenz 'CC BY-SA 2.5' ( https://creativecommons.org/licenses/... ).
Falls Ihnen irgendetwas auffällt oder Unstimmigkeiten bestehen, schreiben Sie mir bitte an vlogize [AT] gmail [DOT] com.
---
Wie Sie eine vollständige Liste aller URLs in Ihrer Rails-Anwendung erhalten
Wenn Sie mit einer Ruby on Rails-Anwendung arbeiten, haben Sie möglicherweise schon einmal den Bedarf gehabt, eine umfassende Liste aller URLs zu erhalten, die Ihre Anwendung generieren kann. Dies kann aus verschiedenen Gründen nützlich sein, z. B. für die Vorbereitung von Lasttests, um eine gründliche Übersicht über die Struktur Ihrer Seite zu bekommen oder sogar zur Erstellung einer Sitemap.
In diesem Blogbeitrag zeige ich Ihnen, wie Sie eine vollständige Liste der URLs aus Ihrer Rails-App abrufen können, die über die einfach angezeigten Ergebnisse von rake routes hinausgeht. Ziel ist es, eine tatsächliche Liste der dynamisch generierten URLs Ihrer Anwendung zu erstellen.
Das Problem verstehen
Wenn Entwickler rake routes ausführen, erhalten sie eine Liste der definierten Routen in Rails. Allerdings enthält diese Liste keine dynamisch erzeugten Seiten oder URLs. Wenn Ihre Anwendung viele Routen hat, die basierend auf Benutzereingaben oder Datenbankinhalten generiert werden, benötigen Sie eine Methode, um die endgültigen URLs zu extrahieren, die von Nutzern aufgerufen werden können. Dies ist besonders wichtig, wenn Lasttests durchgeführt werden, um reale Nutzerinteraktionen und Traffic zu simulieren.
Die Lösung: Verwendung von wget, um Ihre Anwendung zu crawlen
Glücklicherweise können Sie den Befehl wget zusammen mit einigen weiteren Werkzeugen verwenden, um Ihre Anwendung zu durchsuchen und die URLs zu sammeln. Im Folgenden erläutere ich die notwendigen Schritte.
Schritt 1: Verwenden des wget-Befehls
Öffnen Sie zunächst Ihr Terminal und führen Sie den folgenden Befehl aus:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Lassen Sie uns aufschlüsseln, was dieser Befehl bewirkt:
wget --spider: Bewirkt, dass wget keine Dateien herunterlädt, sondern nur überprüft, ob sie vorhanden sind.
-r, --recursive: Aktiviert das rekursive Durchsuchen, sodass wget Links auf Webseiten folgen kann.
-nv, --no-verbose: Schaltet die ausführliche Ausgabe ab, sodass das Ergebnis sauberer ist, ohne komplett still zu sein.
-nd, --no-directories: Verhindert, dass wget Verzeichnisstrukturen anlegt und hält alles flach.
-np, --no-parent: Sorgt dafür, dass wget nicht in übergeordnete Verzeichnisse aufsteigt, limitiert den Crawl auf die angegebene URL.
Schritt 2: Filterung der Ausgabe mit ack
Die Ausgabe des wget-Befehls besteht aus vielen Zeilen, aber Sie wollen nur die URLs sehen. Hier kommt ack zum Einsatz:
ack -o '(?<=URL:)\S+ ': Filtert die Ausgabe so, dass nur die Teilstrings ausgegeben werden, die dem Regex-Muster entsprechen. In diesem Fall erfasst es jede URL, die auf das Präfix URL: folgt.
Beispielausgabe
Wenn Sie den Befehl erfolgreich ausführen, sollte die Ausgabe ungefähr so aussehen:
[[Siehe Video, um diesen Text oder Codeausschnitt anzuzeigen]]
Jede Zeile repräsentiert eine URL, die wget beim Durchsuchen der Anwendung gefunden hat.
Kurzübersicht der wget-Argumente
Hier eine schnelle Zusammenfassung der verwendeten Optionen des wget-Befehls:
--spider: Nichts herunterladen.
-r, --recursive: Rekursives Herunterladen spezifizieren.
-nv, --no-verbose: Die ausführliche Ausgabe ausschalten.
-nd, --no-directories: Keine Verzeichnisse anlegen.
-np, --no-parent: Nicht ins übergeordnete Verzeichnis aufsteigen.
Zusätzliche Hinweise zu ack
ack ist ein mächtiges Tool, ähnlich wie grep, jedoch für Programmierer optimiert und verwendet Perl-reguläre Ausdrücke. Es ermöglicht komplexere Suche und Filterung innerhalb von Texten. Die Option -o bewirkt, dass nur der gematchte Teilstring ausgegeben wird, was die Erge
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: