Lấy địa chỉ IP trong lập trình C#,VB.NET,ASP.NET,C,C++,Dephi,VB,JAVA,ASP

Thảo luận trong 'C# & Winform' bắt đầu bởi TechBuba, 9/3/14.

  1. TechBuba Nhà Báo (Báo Đời)

    Lấy địa chỉ IP trong lập trình C#,VB.NET,ASP.NET,C,C++,Dephi,VB,JAVA,ASP
    Lấy địa chỉ IP là nhâu cầu rất phổ biến đối với một lập trình viên. Để phục vụ cho nhiều một đích khác nhau như chặn IP không cho truy cập, phục vụ cho việc quảng cáo, chống truy cập không mong muốn ... Hôm nay mình sẽ hướng dẫn các bạn lấy địa chỉ IP người truy cập cho các ngôn ngữ lập trình thông dụng.
    [​IMG]
    Trong C#
    PHP:
    using System;
    using System.Net;
    namespace 
    GetIPCS
    {
    ///
    /// Gets IP addresses of the local machine
    ///
    class classGetIPCS
    {
      
    ///
      /// Gets IP addresses of the local machine
      ///
      
    [STAThread]
      static 
    void Main(string[] args)
      {
       
    // Get host name
       
    String strHostName Dns.GetHostName();
       
    Console.WriteLine("Host Name: " strHostName);
       
    // Find host by name
       
    IPHostEntry iphostentry Dns.GetHostByName(strHostName);
       
    // Enumerate IP addresses
       
    int nIP 0;
       foreach(
    IPAddress ipaddress in iphostentry.AddressList)
       {
        
    Console.WriteLine("IP #" + ++nIP ": " +
                          
    ipaddress.ToString());
       }
      }
    }
    }  

    Trong Delphi
    PHP:
    uses  Winsock;
    function 
    getIPsTstrings;
    type
      TaPInAddr 
    = array[0..10of PInAddr;
      
    PaPInAddr = ^TaPInAddr;
    var
      
    phePHostEnt;
      
    pptrPaPInAddr;
      
    Buffer: array[0..63of Char;
      
    IInteger;
      
    GInitDataTWSAData;
    begin
      WSAStartup
    ($101GInitData);
      
    Result := TstringList.Create;
      
    Result.Clear;
      
    GetHostName(BufferSizeOf(Buffer));
      
    phe := GetHostByName(buffer);
      if 
    phe nil then Exit;
      
    pPtr := PaPInAddr(phe^.h_addr_list);
      
    I    := 0;
      while 
    pPtr^[I] <&gtnil do
      
    begin
        Result
    .Add(inet_ntoa(pptr^[I]^));
        
    Inc(I);
      
    end;
      
    WSACleanup;
    end;
    procedure TForm1.Button1Click(SenderTObject);
    begin
      ShowMessage
    (GetIps.text);
    end;

    Trong VB.Net
    PHP:
    Private Sub IPAddress()

    'To get local address

        Dim LocalHostName As String

        Dim i As Integer

        LocalHostName = Dns.GetHostName()

        Dim ipEnter As IPHostEntry = Dns.GetHostByName(LocalHostName)

        Dim IpAdd() As IPAddress = ipEnter.AddressList

        For i = 0 To IpAdd.GetUpperBound(0)

        Next

    End Sub

    Trong C
    PHP:
    #include

    #include 
      
    int doit(intchar **)

    {

        
    char ac[80];

        if (
    gethostname(acsizeof(ac)) == SOCKET_ERROR) {

            
    cerr < < "Error " << WSAGetLastError() <<

                    
    " when getting local host name." << endl;

            return 
    1;

        }

        
    cout << "Host name is " << ac << "." << endl;
      
        
    struct hostent *phe gethostbyname(ac);

        if (
    phe == 0) {

            
    cerr << "Yow! Bad host lookup." << endl;         return 1;     }     for (int i 0phe->h_addr_list[i] != 0; ++i) {

            
    struct in_addr addr;

            
    memcpy(&addrphe->h_addr_list[i], sizeof(struct in_addr));

            
    cout < < "Address " << << ": " << inet_ntoa(addr) << endl;

        }
      
        return 
    0;

    }
      
    int main(int argcchar *argv[])

    {

        
    WSAData wsaData;

        if (
    WSAStartup(MAKEWORD(11), &wsaData) != 0) {

            return 
    255;

        }
      
        
    int retval doit(argcargv);
      
        
    WSACleanup();
      
        return 
    retval;

    }

    }

    Trong Java
    PHP:

    import java
    .net.*;

    import java.io.*;
      
    public class 
    GetIPAddress

    {

        public static 
    void main(String [] args)

        {

            try

            {

                
    InetAddress thisIp =InetAddress.getLocalHost();

                
    System.out.println("IP:"+thisIp.getHostAddress());

            }

            catch(
    Exception e)

            {

                
    e.printStackTrace();

            }

        }

    }

    Trong ASP.NET
    PHP:
    string ip;

    ip=Request.ServerVariables("HTTP_X_FORWARDED_FOR");

    if(
    ip==string.Empty)

    {

    ip=Request.ServerVariables("REMOTE_ADDR");

    }

    Trong PHP
    PHP:
    $ip=$_SERVER['REMOTE_ADDR'];  

    Trong ASP
    PHP:
    <% Response.Write Request.ServerVariables("REMOTE_ADDR") %>
    Theo SinhVienIT
     
     
  2. Bình Luận Bằng Facebook

  3. minhdang

    minhdang Thành Viên Mới

    Hôm nay mình sẽ hướng dẫn các bạn lấy địa chỉ IP người truy cập cho các ngôn ngữ lập trình thông dụng...
     
  4. troduasophan178

    troduasophan178 Thành Viên Mới

    Lấy đỉa chỉ này có dễ bị hack không bạn? Mấy thánh hack chắc cũng dùng cách này đúng không ah?
     
  5. vuvanthuc

    vuvanthuc Thành Viên Mới

    Yes, bài viết của bạn hay đó, thanks bạn nhiều nhé.
     
  6. lucbeo

    lucbeo Thành Viên Mới

    Lấy về xong rồi làm gì nữa vậy ta ? :D