作者liaosankai (低溫烘焙)
看板Python
標題[問題] 關於取得user的IP寫法
時間Wed May 19 09:21:04 2010
各位先進好
最近寫一個小程式必需抓取user的IP
從google趴文得知使用下例方式可取得
import os
ip = os.environ['REMOTE_ADDR']
這個方式似乎和PHP取用$_SERVER['REMOTE_ADDR']相似
但是在PHP中考慮到user使用Proxy的情況,所以會再以
$_SERVER['HTTP_X_FORWARDED_FRO']來做進一步的判斷
想請問python是否也有proxy情況所處理的方式?
還是os.environ['REMOTE_ADDR']已經把proxy的情況考慮進去了?
煩請指點,感謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.92.213
1F:推 DigiPrince::environ 是 environment variable 的意思,是由跑起 05/19 13:48
2F:→ DigiPrince:那支 python 程式的 shell 傳進去的,os.environ 只是 05/19 13:48
3F:→ DigiPrince:讓 user 有方式可以拿來用,並不會做什麼處理。 05/19 13:49
4F:→ DigiPrince:也就是說,這部分跟 PHP 一樣要自己判斷有沒有你要的 05/19 13:50
5F:→ DigiPrince:資訊然後決定要用哪筆。 05/19 13:50
6F:→ DigiPrince:先用 has_key 確認 HTTP_X_FORWARDED_FOR 有沒有在, 05/19 13:51
7F:→ DigiPrince:若有,則一樣用 os.environ["HTTP_X_FORWARDED_FOR"] 05/19 13:51
8F:→ liaosankai:感謝指點=v=,這樣我了解了 05/20 02:33
9F:→ DigiPrince:修正一下好了,我不應該說 shell,因為跑起那支 python 05/20 10:25
10F:→ DigiPrince:程式的不見得是 shell,應該說 parent process。 05/20 10:26