01/10/2018, 14:09
Cách lấy local IP của client bằng javascript khi không có internet
Như tiêu đề, mình đang cần lấy IP của client để gửi về server trong trường hợp không có kết nối internet.
Tức là webserver và client chỉ kết nối mạng LAN với nhau.
Bạn nào biết xin chỉ giúp.
Bài liên quan
Bác bắt buộc phải có code của server, vì javascript chạy trên trình thông dịch của trình duyệt, trình duyệt thì chạy ở client, khi nó truy cập trang web thì máy chủ mới nhận được PACKAGE và giải mã, nó mới đọc được header do client gửi.
Vậy nên nếu dùng JS thì không thể lấy được đâu.
Mình mô tả lại một chút.
Mình có 1 webserver ASP.NET MVC5 và các client truy cập đến web này trong một mạng LAN của một doanh nghiệp. Khi truy cập mình muốn gửi thông tin của client như tên PC,IP hoặc MAC để web trả về các yêu cầu khác nhau.
Nếu JS không được thì có phương pháp nào khác thì các bạn có thể chia sẻ được không.
Đầu tiên bác có thể tạo một biến js lưu thông tin client:
///
Đọc lại câu hỏi update của bác thì việc bác cần làm chỉ cần qản lí code của mvc .net thôi.
Tức là xem reference các hàm get client info rồi tại file .design thực hiện if/else để render nội dung phù hợp
Vấn đề là tại client mình lấy thông số client bằng cách nào để gửi về webserver.
Theo như mình biết thì code xử lý phía client là javascript thì việc lấy thông tin phải do javascript làm rồi. Không liên quan gì mã C# ở phía server ?
Mình có google thì đa phần toàn dùng phương pháp kết nối với 1 web nào đó ví dụ “what my ip” để lấy thông tin rồi gửi về server. Nhưng trường hợp của mình hoàn toàn không có kết nối internet.
Vấn đề là lấy local IP đúng không? Thế bạn đã thử dùng WebRTC chưa?
stackoverflow.com
Can You Get A Users Local LAN IP Address Via JavaScript?
Test: http://net.ipcalf.com/
Lưu ý là có thể tính năng này đã bị client chặn (như mình) không chừng.
Đây là giải pháp các bạn nhé. Nó được thực hiện trong C# code :