Nếu tôi muốn cung cấp một trang web có nội dung phù hợp với vị trí, tôi có thể sử dụng những cách nào để tìm vị trí thô của khách truy cập bằng thông tin IP hoặc tiêu đề của họ?
Nếu tôi muốn cung cấp một trang web có nội dung phù hợp với vị trí, tôi có thể sử dụng những cách nào để tìm vị trí thô của khách truy cập bằng thông tin IP hoặc tiêu đề của họ?
Câu trả lời:
Đầu tiên, bạn nên biết rằng độ chính xác của các dịch vụ này là và luôn luôn ở mức thấp.
Thành phố MaxMind Geolite là miễn phí . Nếu nó không đủ tốt, rõ ràng bạn có thể nâng cấp lên phiên bản trả phí chính xác hơn. Tôi không thể nói về chất lượng của phiên bản trả phí, vì tôi chưa bao giờ sử dụng nó.
Nếu bạn thích SQL của mình, hãy tải xuống phiên bản CSV . Tải nó vào cơ sở dữ liệu của bạn và truy vấn đi.
Tùy chọn nhanh hơn và hiệu quả về không gian là tải xuống phiên bản blob nhị phân của cùng một cơ sở dữ liệu, sau đó sử dụng API ngôn ngữ cụ thể từ cùng một trang web để truy vấn nó.
Ngoài ra, tôi đã tìm thấy ipinfodb.com là hữu ích. Truy vấn bằng HTTP GET đơn giản. Ví dụ: để định vị địa lý stackoverflow.com hãy thử:
http://ipinfodb.com/ip_query.php?timezone=false&ip=69.59.196.211
Điều này sẽ trả về một tệp XML chứa vĩ độ và kinh độ, trông giống như:
<Response>
<Ip>69.59.196.211</Ip>
<Status>OK</Status>
<CountryCode>US</CountryCode>
<CountryName>United States</CountryName>
<RegionCode>41</RegionCode>
<RegionName>Oregon</RegionName>
<City>Corvallis</City>
<ZipPostalCode>97333</ZipPostalCode>
<Latitude>44.4698</Latitude>
<Longitude>-123.343</Longitude>
</Response>
Vị trí bạn có thể suy ra từ IP không đáng tin cậy (đôi khi nó hoạt động khá tốt).
Nếu bạn muốn một vị trí đáng tin cậy, hãy xem xét API định vị địa lý là một phần của HTML5 . Lưu ý, tuy nhiên, không phải tất cả các trình duyệt web đều hỗ trợ nó (chưa).
Một tùy chọn tập trung vào hỗ trợ di động, mặc dù cũng hoạt động tốt trên hầu hết các trình duyệt trên máy tính để bàn (trừ IE theo kinh nghiệm của tôi), là gói Geo-Location-Javascript bao bọc API HTML5 GeoLocation được đề cập. Tôi thấy trình duyệt di động hỗ trợ khá kém cho API HTML5 (tuy nhiên, không đáng ngạc nhiên, vì nó vẫn còn trong dự thảo) vì vậy đó là lý do tại sao tôi đi với gói này.
Kết quả từ các thiết bị moblie khá tốt qua các kết nối di động và WiFi (và GPS nếu thiết bị có nó). Các trình duyệt máy tính để bàn báo cáo một vị trí khá thô so với các dịch vụ khác.
Bạn có thể sử dụng url này và truyền cho nó một địa chỉ IP. http://api.hostip.info/get_html.php?ip=84.32.32.44
Quova http://www.quova.com/ cũng có một dịch vụ. Tôi đã nói chuyện với họ ngày hôm qua tại GeoLoco. Theo họ (vì vậy hãy dùng nó với một hạt muối) họ nói rằng họ tốt hơn quốc tế so với MaxMind. Họ gần bằng nhau ở Bắc Mỹ.
Xin lưu ý rằng đối với điện thoại di động, IP có thể sẽ ánh xạ tới bất kỳ nơi nào mà Nhà khai thác có cổng vào internet. Bạn cũng có thể thử sử dụng - http://www.loc-aid.com/ nếu bạn đang nhắm mục tiêu điện thoại di động.
Google Analytics cung cấp bản đồ và thống kê cơ bản về vị trí của khách truy cập của bạn. Tất nhiên, bạn phải chia sẻ thông tin này với Google ...
ipinfodb.com là tốt nhưng họ hiện đang ngoại tuyến :(
Tôi đang sử dụng nó để api của tôi . Nó rất tốt cho thời tiết của tôi, nhưng tôi không biết bây giờ nó đã ngoại tuyến từ hôm qua.
Nếu bạn muốn cung cấp cho họ nội dung hoặc quảng cáo dựa trên vị trí địa lý của họ, bạn không thể dựa vào dữ liệu vị trí từ thiết bị. Ngay cả khi họ ở trên điện thoại di động, vẫn có khả năng cao là họ đã tắt GPS và wifi, và họ phải đồng ý chia sẻ vị trí.
Nó giống như: "Này, bạn có thể chia sẻ vị trí của bạn với tôi để tôi có thể cung cấp cho bạn nội dung và quảng cáo mà tôi nghĩ là có liên quan nhất đến vị trí địa lý của bạn không?" Trả lời: "Không! Hãy cho tôi nội dung và quảng cáo tốt nhất bạn có ngoài đó"
Cách duy nhất để tìm vị trí mà không cần xin phép họ là máng Địa chỉ IP của họ. Bạn có thể cài đặt cơ sở dữ liệu trên máy chủ của riêng mình và truy vấn nó để tìm vị trí của Địa chỉ IP hoặc sử dụng API bên ngoài mà bạn phải truy vấn và nhận kết quả. Tôi đang sử dụng api định vị địa lý ipgp và làm việc tuyệt vời. ( http://www.ipgp.net/ip-address-geolocation-api/ )