Tôi đang sử dụng khung Kim tự tháp và tôi muốn truy cập địa chỉ IP mà từ đó yêu cầu bắt nguồn. Tôi giả sử nó trong đối tượng yêu cầu (được chuyển đến mọi chức năng xem) ở đâu đó, nhưng tôi không thể tìm thấy tài liệu cho tôi biết nó ở đâu.Nhận địa chỉ IP yêu cầu với Pyramid
Trả lời
Đó là trong request.remote_addr
.
Bạn có thể tìm thấy tài liệu trong tài liệu pyramid.request
.
Cảm ơn rất nhiều. Tôi thấy rằng trong tài liệu, nhưng tôi đã không nhận ra rằng "remote_addr" có nghĩa là "địa chỉ IP". Tại sao họ không gọi nó là "địa chỉ IP"? –
Vì "địa chỉ IP" không rõ ràng - có phải địa chỉ của máy chủ, địa chỉ của khách hàng hay địa chỉ khác không? "remote_addr" là địa chỉ của phía từ xa, tức là khách hàng. –
Hoặc bạn có thể sử dụng request.environ['REMOTE_ADDR']
Bạn có thể sử dụng: request.client_addr
.
"Có thể cho các tác nhân người dùng đặt IP của người khác hoặc bất kỳ chuỗi nào trong HTTP_X_FORWARDED_FOR vì nó là một tiêu đề HTTP bình thường. Các proxy chuyển tiếp cũng có thể cung cấp các giá trị không chính xác (địa chỉ IP riêng tư, v.v.). phương pháp này để cung cấp cho bạn dữ liệu hợp lệ trừ khi bạn chắc chắn rằng HTTP_X_FORWARDED_FOR có các giá trị chính xác. Máy chủ WSGI phải nằm sau một proxy tin cậy cho điều này là đúng. " Vì vậy, nếu tôi hiểu điều này một cách chính xác, bạn nên sử dụng 'remote_addr' trừ khi bạn đang ở phía sau proxy tin cậy đặt đúng HTTP_X_FORWARDED_FOR. –
@YannDinendal: Vâng, bạn nói đúng. Xin lỗi nếu tôi không làm rõ điểm này. –
có thể đáng để bạn làm quen với webob. http://docs.webob.org/en/latest/index.html –