Zewnętrzny adres IP

0

Witajcie

Przeszukałem forum w poszukiwaniu sposobu na pobranie zewnętrznego IP komputera, i nie znalazłem nic konkretnego. Owszem padały odpowiedzi, ale wszystkie ze sposobów pokazywały adres komputera w sieci wewnętrznej, a mnie chodzi o coś w stylu 83.28.247.215. Z góry dzięki za odpowiedzi.

0

wchodisz na jakas stronke co pokazuje twoje iP. mozesz nawet sam napisac taki skrypt. potem tylko kopiujesz odp. fragment kodu strony.

0

AFAIK, programowo (z rejestru, czy w podobny sposób) jest ciężko, o ile to w ogóle możliwe. Najlepiej sprawdzić pod jakim ip widzą nas inni (np. stronki, takie jak www.whatismyip.com). Z pomocą httpget pobierasz tą stronke, i wyłuskujesz adres.

pozdro

0

Hej
Kod z Torry sorki że zaśmiecam ale linka nie mam a kod miam w swoich szpargałach


unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes,
  Graphics, Controls, Forms, Dialogs, Psock,
  NMHttp, StdCtrls, ExtCtrls, Menus, About,
  Winsock, ComCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    NMHTTP1: TNMHTTP;
    Memo1: TMemo;
    Edit1: TEdit;
    MainMenu1: TMainMenu;
    File1: TMenuItem;
    Exit1: TMenuItem;
    Bevel1: TBevel;
    Bevel2: TBevel;
    procedure Button1Click(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
  private
    { Private declarations } 
  public
    { Public declarations } 
  end; 

var
  Form1: TForm1; 

implementation 

uses ClipBrd; 

{$R *.dfm} 

procedure TForm1.Button1Click(Sender: TObject); 
var 
  InetIP: string; 
  WebAddress, SearchString: string;
  Buff, P, FT: PChar; 
  BuffLen: Word; 
  StartPos, StringLength, TempInt: Integer; 
begin
  WebAddress   := 'http://www.whatismyip.com/'; 
  SearchString := 'Your ip is '; 
  Memo1.Clear; 
  try
    NMHTTP1.Get(WebAddress); 
  except 
    on E: Exception do 
    begin
      MessageDlg('Could not get IP Address! ' + 
        'Please ensure you are connected to ' + 
        'the Internet.', mtError, [mbOK], 0); 
    end;
  end; 
  Memo1.Text     := NMHTTP1.Body; 
  Memo1.SelStart := 0; 
  GetMem(FT, Length(SearchString) + 1);
  StrPCopy(FT, SearchString); 
  BuffLen := Memo1.GetTextLen + 1; 
  GetMem(Buff, BuffLen); 
  Memo1.GetTextBuf(Buff, BuffLen);
  P := Buff + Memo1.SelStart + Memo1.SelLength; 
  P := StrPos(P, FT); 
  if P = nil then MessageBeep(0) 
  else
  begin 
    Memo1.SelStart  := P - Buff; 
    Memo1.SelLength := Length(SearchString); 
  end;
  StringLength := Memo1.SelLength; 
  StartPos     := Memo1.SelStart + StringLength; 
  tempint      := StartPos; 
  InetIP       := '';
  while ((Buff[TempInt] in ['0'..'9']) or 
    (Buff[TempInt] = '.')) do 
  begin 
    InetIP  := InetIP + Buff[TempInt];
    tempint := tempint + 1; 
  end; 
  FreeMem(FT, Length(SearchString) + 1); 
  FreeMem(Buff, BuffLen);
  Edit1.Text := InetIP; 
end; 

procedure TForm1.Exit1Click(Sender: TObject);
begin 
  Close; 
end; 

end. 

1 użytkowników online, w tym zalogowanych: 0, gości: 1