آموزش به دست آوردن آیپی در برنامه نویسی اندروید

سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش به دست آوردن آیپی در برنامه نویسی اندروید می پردازیم با بررسی که انجام دادیم به طور معمول نمی شود آیپی اصلی کاربر را به دست آورد امروز با استفاده از یک وب سرویس آیپی را به دست میاریم که چندین مزیت دارد که در ادامه به آن ها می پردازیم با ما همراه باشید.
مزیت استفاده از وب سرویس

  • به دست آوردن آیپی اصلی : در صورتی که کاربر از فیلترشکن هم استفاده کند ما می توانیم آیپی اصلی کاربر رو به دست بیاریم.
  • دسترسی داشتن به کد php برای تغییر اعمالات

ابتدا یک فایل به نام getip.php در هاست خود ایجاد کنید

<?PHP
function getUserIP()
{
    $client  = @$_SERVER['HTTP_CLIENT_IP'];
    $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    $remote  = $_SERVER['REMOTE_ADDR'];
    if(filter_var($client, FILTER_VALIDATE_IP))
    {
        $ip = $client;
    }
    elseif(filter_var($forward, FILTER_VALIDATE_IP))
    {
        $ip = $forward;
    }
    else
    {
        $ip = $remote;
    }
    return $ip;
}
$user_ip = getUserIP();
echo $user_ip;
?>

دوستانی که هاست ندارند می تواند از لینک زیر استفاده کنند.

http://orjinakteb.com/getip.php

در صورتی که به آدرس بالا بروید آیپی شما نمایش داده می شود.
برای اینکه آیپی رو به دست بیارید از کد زیر استفاده کنید.

public static String getHtml(String url) throws IOException {
    URLConnection connection = (new URL(url)).openConnection();
    connection.setConnectTimeout(5000);
    connection.setReadTimeout(5000);
    connection.connect();
    InputStream in = connection.getInputStream();
    BufferedReader reader = new BufferedReader(new InputStreamReader(in));
    StringBuilder html = new StringBuilder();
    for (String line; (line = reader.readLine()) != null; ) {
        html.append(line);
    }
    in.close();
    return html.toString();
}

ورودی آن باید همان url ی باشد که در بالا قرار دادیم .
قبلش باید این کتاب خانه را اضافه کنید.

 compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'

در صورتی که خطا داشتید از کد زیر استفاده کنید.

HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://orjinakteb.com/getip.php");
HttpResponse response = client.execute(request);
String html = "";
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder str = new StringBuilder();
String line = null;
while((line = reader.readLine()) != null)
{
    str.append(line);
}
in.close();
html = str.toString();

 
 
این آموزش هم به پایان رسید.
 
موفق و موید باشید.

مطالعه بیشتر