2015-06-29 4 views
1

Я нашел this question, который, кажется, я ищу.Использование web.py Как я могу получить чей-то IP-адрес при посещении моей страницы

Это говорит использовать web.ctx['ip']

Но я не могу заставить его работать правильно, все, что я хочу, это IP посетителя в переменной. До сих пор я пробовал это:

import web 

urls = (
    '/', 'index' 
) 

class index: 
    def GET(self): 
     return "Hello, world!" 
     return web.ctx['ip'] #Trying to get it to just *show* so 
          #I can put it into a variable 

     print web.ctx['ip'] #Nothing happens here either 

if __name__ == "__main__": 
    app = web.application(urls, globals()) 
    app.run() 

Заранее спасибо, я думаю, что я близок, мне просто нужна небольшая помощь. Может, мне нужно импортировать что-то еще?

+1

Первого 'Возвращение«»Здравствуй, мир«»' покидают ваш function 'GET (self)' перед выполнением того, что после него ('return' означает выход из этой функции обратно туда, где он был вызван), закомментируйте, что сначала« return »Hello, world!» 'выражение и put' print web.ctx ['ip'] 'before' return web.ctx ['ip'] ' –

+0

Большое вам спасибо! Я не могу поверить, что я не понимал, что сначала я чувствую себя идиотом. Он работает сейчас! Можете ли вы принять комментарии в ответ? Это устранило мою проблему. – Njord

+0

Я отправлю его как ответ ... –

ответ

2

Вы возвращаетесь еще до получения IP адреса, просто изменить порядок вашего кода следующим образом и снять return "Hello, world!":

class index: 
    def GET(self): 
     print web.ctx['ip'] 
     return web.ctx['ip']