Ich habe einige Web-App mit Rook
erstellt, die meine Netzwerk-IP (192.168.xx.xx) an Port 8000 hören. Jeder in meinem Büro kann mit ihnen nur eingeben http://192.168.xx.xx:8000/page_name
im Browser. Ich muss diese Seitenverwendung überwachen und mich wundern, wie ich die Netzwerk-IP-Adresse der mit ihnen verbundenen erreichen kann.Abrufen der privaten IP-Adresse eines Benutzers Rook/Shiny-Seite
Ich habe keine Erfahrung in der Web-Entwicklung und von der bisherigen Forschung scheint es, dass mit clientseitige Code wie JavaScript
ist es sehr schwierig (fast unmöglich), das zu erreichen, (korrigieren Sie mich, wenn ich falsch liege). Also, meine Frage ist: gibt es eine Möglichkeit, den Netzwerk-Client IP mit Server-Side-Code innerhalb einer Rook-Anwendung zu bekommen? (Bei Bedarf würde ich den Webserver wechseln, jede Lösung wird geschätzt).
Danke und Entschuldigung im Voraus sollte meine Frage verwirrend scheinen ... insbesondere bin ich mir nicht sicher, ob andere Tags benötigt werden.
EDIT: Ich würde auch Antworten akzeptieren, etwas anderes als Rook
mit (aber immer noch in R
)
EDIT 2: Ich habe nach diesem link Shiny Server gesetzt. Ich bin bei Schritt, den Server zu konfigurieren, um die access_log
zu erhalten, die, entsprechend @Thell, die Informationen enthält, die ich benötige. Im shiny-server.conf
Ich habe die relative Aussage hinzugefügt und ist nun:
run_as shiny;
server {
listen 3838;
location/{
site_dir /var/shiny-server/www;
log_dir /var/shiny-server/log;
directory_index on;
}
}
access_log /home/michelec/log.txt;
die letzte Zeile glänzend sagen sollte den access_log in meine Home-Ordner zu schreiben. Nichts passiert jedoch, das Protokoll bleibt leer. nach here im Formate Abschnitt, sollte ich eines dieser Protokolle erhalten:
default ':remote-addr - - [:date] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"'
short ':remote-addr - :method :url HTTP/:http-version :status :res[content-length] - :response-time ms'
tiny ':method :url :status :res[content-length] - :response-time ms'
dev concise output colored by response status for development use
je nachdem, ob Sie das Standardformat lassen oder Sie es ändern.
Können Sie Ihren Code zur Verfügung stellen? Es gibt nicht viel anderes auf Rook als die grundlegende Dokumentation. Um Ihre Frage zu beantworten, werden Sie wahrscheinlich ein wenig experimentieren müssen, was wahrscheinlich ein reproduzierbares Beispiel erfordert. – SchaunW
@SchaunW danke für die Antwort. Entschuldigung, ich habe noch keinen Code für diese Aufgabe. Ich recherchiere jeden Tag. So wie es ist, würde die Frage selbst mit nur einer (gültigen) Eingabe beantwortet werden, um mit der Codierung zu beginnen. – Michele
Ich hatte heute ein Spiel damit - es schien, dass 'ip()' sollte sein, was Sie wollen, aber ich konnte keine Ausgabe davon bekommen – alexwhan