Làm cách nào để xác định vị trí của khách truy cập vào trang web của tôi?


19

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ọ?



4
Thay vào đó, bạn nên đặt câu hỏi này trên StackOverflow.com .
Jonas

7
Tôi nghĩ rằng sẽ luôn có những câu hỏi chéo sẽ phù hợp với cả hai. Nhưng các câu trả lời ở đây với phối cảnh GIS có thể khác với các câu trả lời ở đó với quan điểm lập trình.
JamesRyan

Câu trả lời:


12

Đầ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>

5 năm sau .... Ai đó có thể cập nhật câu trả lời này không? Đăng một câu trả lời mới?
Dror Atariah

5 năm sau, hầu hết các hệ thống Geoid đều vô dụng vì chúng không thể định vị chính xác người dùng di động ...
Mike Szyndel

9

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).


1
+1 cho HTML5. Bạn luôn có thể sử dụng cả hai - nếu API geoloation không thành công, hãy quay lại IP. Hỗ trợ nhiều trang web hơn có nghĩa là nhiều áp lực hơn đối với các nhà cung cấp trình duyệt để hỗ trợ các công nghệ tốt hơn.
nè 101

Nhưng chúng tôi đang nói về "vị trí thô của khách truy cập", vì vậy đây có thể không phải là điều bạn muốn. Một điểm quan trọng là định vị địa lý HTML5 sẽ bật lên một dấu nhắc xác nhận trông đáng sợ. Có vị trí thường sẽ có nhiều chính xác hơn ... nhưng chỉ sau khi người truy cập đồng ý xác nhận nhanh chóng.
Harry Wood

3

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.



2

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.


2

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 ...


4
điều đó sẽ cho phép tôi báo cáo về khách truy cập nhưng không điều chỉnh nội dung của tôi khi đang di chuyển theo địa điểm
JamesRyan

0

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.


1
Cảm ơn bạn đã trả lời của bạn. Bạn có để ý rằng @FMark đã mô tả dịch vụ này trong một câu trả lời trước đó trong chuỗi này không?
whuber

Đây không phải là một chỉ trích về ipinfodb nhưng tôi đã gặp vấn đề trước đây với công cụ chuyển đổi tiền tệcông cụ api tiền tệ của mình , đã cố gắng sử dụng nó để tự động xác định vị trí và có thể cung cấp cho họ một vị trí trực tiếp liên quan đến tiền tệ nhưng S có rất nhiều trang web có vấn đề là 3 ngày ngoại tuyến hoặc một số lỗi kết nối hoặc câu chuyện tải rất nhiều thời gian có thể ảnh hưởng đến Hiệu suất Trang web của bạn và google không muốn điều đó ...
jarauze

Infodb có vẻ tuyệt vời, đã thử nó trong nhiều tháng nay .. họ có giới hạn không? ý tôi là du khách mỗi ngày?

0

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/ )

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.