توضیحات و دانلود

دریافت اطلاعات موقعیت مکانی بازدید کننده (کشور- استان ) با استفاده از آدرس IP در ASP.Net
0 0
دریافت اطلاعات موقعیت مکانی بازدید کننده (کشور- استان ) با استفاده از آدرس IP در ASP.Net

با سلام در این مقاله، با یک مثال نحوه دریافت جزئیات مکان مانند کشور، شهر، منطقه، کد پستی، عرض جغرافیایی، طول جغرافیایی و منطقه زمانی با استفاده از آدرس IP در ASP.Net با استفاده از C # و VB.Net. توضیح خواهیم داد
آدرس IP در API محل سکونت
IPInfoDB IP در Location API یک API رایگان برای دریافت اطلاعات مکانی جغرافیایی مانند کشور، شهر، منطقه، کد پستی، عرض جغرافیایی، طول جغرافیایی و منطقه زمانی از آدرس IP است.
برای استفاده از API، شما باید ثبت نام کنید و یک کلید API دریافت کنید. هنگامی که کلید API ایجاد شد، API را می توان با استفاده از URL زیر مشاهده کرد.
http://api.ipinfodb.com/v3/ip-city/؟key=<your_api_key>&ip=74.125.45.100&format=json
API جزئیات موقعیت جغرافیایی را در قالب JSON به صورت زیر نشان می دهد.

{
      "statusCode" : "OK",
      "statusMessage" : "",
      "ipAddress" : "74.125.45.100",
      "countryCode" : "US",
      "countryName" : "UNITED STATES",
      "regionName" : "CALIFORNIA",
      "cityName" : "MOUNTAIN VIEW",
      "zipCode" : "94043",
      "latitude" : "37.3861",
      "longitude" : "-122.084",
      "timeZone" : "-07:00"
}

کد HTML
کد HTML زیر شامل یک GridView است که برای نمایش جزئیات مکان جغرافیایی استفاده می شود.

<asp:GridView ID="gvLocation" runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField DataField="IPAddress" HeaderText="IP Address" />
        <asp:BoundField DataField="CountryName" HeaderText="Country" />
        <asp:BoundField DataField="CityName" HeaderText="City" />
        <asp:BoundField DataField="RegionName" HeaderText="Region" />
        <asp:BoundField DataField="CountryCode" HeaderText="Country Code" />
        <asp:BoundField DataField="Latitude" HeaderText="Latitude" />
        <asp:BoundField DataField="Longitude" HeaderText="Latitude" />
        <asp:BoundField DataField="Timezone" HeaderText="Timezone" />
    </Columns>
</asp:GridView>

فضاهای نام
شما باید فضای نامهای زیر را وارد کنید.
C #

using System.Net;
using System.Collections.Generic;
using System.Web.Script.Serialization;

VB.Net

Imports System.Net
Imports System.Collections.Generic
Imports System.Web.Script.Serialization

وظیفه کلاس برای نگه داشتن داده های JSON
ویژگی مکان های زیر برای نگهداری جزئیات مکان جغرافیایی که از API باز می شود، مورد نیاز است.
C #

public class Location
{
    public string IPAddress { get; set; }
    public string CountryName { get; set; }
    public string CountryCode { get; set; }
    public string CityName { get; set; }
    public string RegionName { get; set; }
    public string ZipCode { get; set; }
    public string Latitude { get; set; }
    public string Longitude { get; set; }
    public string TimeZone { get; set; }
}

VB.Net

Public Class Location
    Public Property IPAddress() As String
    Public Property CountryName() As String
    Public Property CountryCode() As String
    Public Property CityName() As String
    Public Property RegionName() As String
    Public Property ZipCode() As String
    Public Property Latitude() As String
    Public Property Longitude() As String
    Public Property TimeZone() As String
End Class

دریافت و نمایش جزئیات مکان برای آدرس IP
در داخل رویداد بارگذاری صفحه، ابتدا آدرس IP تعیین می شود.
سپس آدرس IP به عنوان پارامتر همراه با کلید API IPInfoDB IP در API Location ارسال می شود که از شی کلاس WebClient استفاده می شود.
JSON دریافت شده به شیء کلاس Location که در نهایت برای پر کردن کنترل GridView استفاده می شود، نادیده گرفته می شود.
C #

protected void Page_Load(object sender, EventArgs e)
{
    string ipAddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    if (string.IsNullOrEmpty(ipAddress))
    {
        ipAddress = Request.ServerVariables["REMOTE_ADDR"];
    }
 
    string APIKey = "<Your API Key>";
    string url = string.Format("http://api.ipinfodb.com/v3/ip-city/?key={0}&ip={1}&format=json", APIKey, ipAddress);
    using (WebClient client = new WebClient())
    {
        string json = client.DownloadString(url);
        Location location = new JavaScriptSerializer().Deserialize<Location>(json);
        List<Location> locations = new List<Location>();
        locations.Add(location);
        gvLocation.DataSource = locations;
        gvLocation.DataBind();
    }
}

VB.Net

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    Dim ipAddress As String = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
    If String.IsNullOrEmpty(ipAddress) Then
        ipAddress = Request.ServerVariables("REMOTE_ADDR")
    End If
 
    Dim APIKey As String = "<Your API Key>"
    Dim url As String = String.Format("http://api.ipinfodb.com/v3/ip-city/?key={0}&ip={1}&format=json", APIKey, ipAddress)
    Using client As New WebClient()
        Dim json As String = client.DownloadString(url)
        Dim location As Location = New JavaScriptSerializer().Deserialize(Of Location)(json)
        Dim locations As New List(Of Location)()
        locations.Add(location)
        gvLocation.DataSource = locations
        gvLocation.DataBind()
    End Using
End Sub

عکس روی صفحه 


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :