المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : تحديد Ip الخاصة بالاتصال الانترنت, ليس IP الشبكة المحلبة


Unprogramme
09-09-2009, 07:21 PM
السلام عليكم و رحمة الله و بركاته
إذا دحلت على الموقع التالى myip فإنه يعطيك IP الذى تشغله في سبكة الإنترنت (و ليس في الشيكة المحلية)
سؤالي هو هل يمكن أن نقوم بهذا العمل بواسطة برنامج Delphi ؟


و الجواب بسط جدا :

كلنا يعرف الموقع http://www.whatismyip.org/ فإنه يعطيك رقم IP الخاص بالإنترنت .
و في المرفقات مثال لاسترجاع رقم IP من هذا الموقع .
:monster1:

kachwahed
10-09-2009, 01:28 PM
عمل جميل، بارك الله فيك.
هذه الطريقة تقوم بقراءة عنوان IP المكتوب في صفحة الموقع.
فلا يمكن الوثوق في هذه الطريقة بشكل كامل، فقد يتغير محتوى الموقع أو عنوانه في أي لحظة.
يمكن بنفس الطريقة الحصول على IP ومعلومات حول نوع خط الاتصال واسم الموزع واسم البلد من خلال قراءة محتوى الموقع:
http://www.ip-adress.com/
بالتوفيق.

kachwahed
10-09-2009, 02:19 PM
يمكن عمل ذلك مبدئيا بما في المرفقات:

nabilkeb
10-09-2009, 03:56 PM
شكرا ، جميل جدا ،بارك الله فيك أخي Unprogramme لكن لست أدري لما لا يعمل إلا من المسار :
C:\Documents and Settings\Moi\Mes documents\Ramdhane\IP1

يعطي رسالة الخطأ:
E[Erreur fatale] Impossible de créer le fichier de sortie
'C:\Documents and Settings\Moi\Mes documents\Ramdhane\IP1\Ip.exe
مشكور أخي Kachwahad على التعديل و الإضافة الجميلة .

kachwahed
10-09-2009, 04:16 PM
يمكن كتابة الكود بشكل أفضل:
function GetBetween(Str, FirstDemarc, SecondDemarc: String): String;
begin
Result := Trim(Copy(Str,
Pos(FirstDemarc,Str)+length(FirstDemarc),
Pos(SecondDemarc, Str)-Pos(FirstDemarc,Str)-length(FirstDemarc)));
end;

procedure TForm1.Button1Click(Sender: TObject);
Function Ip_Internet : String;
Var Acces_Web : TIdHttp;
Begin

Acces_Web := TIdHttp.Create(Nil);
Try
try
//or 'http://www.whatismyip.org' to get just IP net.
Result := Acces_Web.Get('http://www.ip-adress.com/');
except
MessageBox(Handle, 'Connection faild!','Error',MB_OK+MB_ICONERROR);
end;
Finally
Acces_Web.Free;
End;
End;
begin
Label1.Caption := GetBetween(Ip_Internet, 'ss: ', '</h2>');
Label3.Caption := GetBetween(Ip_Internet, 'g">', '<br>');
Label2.Caption := GetBetween(Ip_Internet, 'IP: ', '"content2');
Label2.Caption := Copy(Label2.Caption,0,length(Label2.Caption)-51);
end;
كما يمكن استخراج صورة علم البلد والخريطة وغير ذلك، أو استخدام مواقع أخرى تقدم معلومات أكثر مثل:
http://whatismyipaddress.com/

Unprogramme
10-09-2009, 04:19 PM
عمل رائع أخي Kachwahad الله يجزل لك المثوبة و الأجر ، وفقت لكل خير.

nabilkeb
10-09-2009, 04:44 PM
جميل جدا Kachwahad بارك الله فيك .
السؤال المطروح : هل من معلومات أكثر إفادة في تحديد الموقع الدقيق لصاحب الإيبي
أقصد أن مثلا العلم لا يهم في شيء مادام اسم البلد متوفر .

heros
02-12-2009, 02:17 PM
السلام عليكم
اضافة هذا الكود 100% دلفي و اصغر

function GetIPAddress: string;
var
phoste:PHostEnt;
Buffer:array[0..100] of char;
WSAData:TWSADATA;
begin
result:='';
if WSASTartup($0101, WSAData) <> 0 then exit;
GetHostName(Buffer,Sizeof(Buffer));
phoste:=GetHostByName(buffer);
if phoste = nil then
begin
result:='127.0.0.1';
end
else
result:=StrPas(inet_ntoa(PInAddr(phoste^.h_addr_li st^)^));
WSACleanup;
end;


و الذي قمت به ايضا يعمل و بارك الله فيك على المعلومة :D

heros
02-12-2009, 02:33 PM
و IP الخاصة بالشبكة الصغيرة
function GetLocalIP : string;
type
TaPInAddr = array [0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe : PHostEnt;
pptr : PaPInAddr;
Buffer : array [0..63] of char;
I : Integer;
GInitData : TWSADATA;
begin
WSAStartup($101, GInitData);
Result := '';
GetHostName(Buffer, SizeOf(Buffer));
phe :=GetHostByName(buffer);
if phe = nil then
begin
Exit;
end;
pptr := PaPInAddr(Phe^.h_addr_list);
I := 0;
while pptr^[I] <> nil do
begin
result:=StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;

kachwahed
11-03-2010, 12:36 PM
و IP الخاصة بالشبكة الصغيرة
شكرا أخي heros
يجب تعريف Winsock في مثالك:
uses
Winsock;
عندما يوضع أي كود/مثال يجب تجربته أولا.
تحياتي، بالتوفيق.

King SofT
08-06-2010, 06:34 PM
جزاك الله خيرا اخي

عبدالحق
28-08-2010, 02:53 PM
برنامج جميل و بسيط جازاك الله خيرا

abdnour820
28-08-2010, 03:46 PM
شكرا على هذا المجهود

MaTReX_2009
29-08-2010, 11:04 AM
مشكوررين على المجهود الرائع

لو أمكن من الإخوان عمل ملف بسيط متكامل لهذا الكود بشكل برنامج صغير

يمكن يكون افضل للفهم

تحياتي للجميع

karamofweb
16-01-2011, 05:06 PM
السلام عليكم

موضوع غية في الروعة لكن لي ملاحظة هامة و هي ان المواقع التي اقترحتموها لا تعطي الموقع الجغرافي للـ ip المحدد مثال انا اتصل من تلمسان و الموقع وضعني في عين صالح، و الموقع الثاي في البليدة فهل من تعليق او حل للمشكل ؟؟؟

cargem
17-01-2011, 04:16 PM
هذا موقع ايضا

http://www.cmyip.com