PDA

View Full Version : سوال: چطور میشه ip کلاینت رو به دست آورد؟



mohammad_kazem
جمعه 30 تیر 1391, 13:39 عصر
سلام دوستان
تویکی از سایتهام میخوام آی پی کاربری که به مدیر پیام میده رو بگیرم. ولی نمیتونم.تو سایت هم سرچ زدم ولی چیزی پیدا نکردم.لطفا کمکم کنید. دقت کنید که آی پی کلاینت رو میخوام. یعنی دقیقا سیستمی که پیام رو ارسال کرده. نه سرور و هاست و ...
اینجا (http://barnamenevis.org/showthread.php?347124-%D8%A8%D8%AF%D8%B3%D8%AA-%D8%A2%D9%88%D8%B1%D8%AF%D9%86-%D8%A2%DB%8C-%D9%BE%DB%8C-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D9%87%D8%A7%DB%8C-%DB%8C%DA%A9-%D8%B4%D8%A8%DA%A9%D9%87-%D8%AF%D8%A7%D8%AE%D9%84%DB%8C&highlight=%DA%86%D8%B7%D9%88%D8%B1+%D9%85%DB%8C%D8 %B4%D9%87+%D8%A2%DB%8C+%D9%BE%DB%8C+%D8%B3%DB%8C%D 8%B3%D8%AA%D9%85+%DA%A9%D9%84%D8%A7%DB%8C%D9%86%D8 %AA+%D8%B1%D9%88+%D8%A8%D8%AF%D8%B3%D8%AA+%D8%A2%D 9%88%D8%B1%D8%AF)رو هم دیدم . لطفا لینک ندید.
با تشکر فراوان.

m_gholami
جمعه 30 تیر 1391, 13:42 عصر
با سلام

Request.UserHostAddress.ToString();

mohammad_kazem
جمعه 30 تیر 1391, 13:47 عصر
با سلام

Request.UserHostAddress.ToString();
سلام دوست عزیز
این کد دقیقا اینو برمیگردونه "1::"
میشه بیشتر راهنمایی کنی؟
ممنون

m_gholami
جمعه 30 تیر 1391, 14:20 عصر
با سلام


این IP سیستم رو بر میگردونه


txtIP.Text = Request.UserHostAddress.ToString();




مقدار ایپی سیستم تو رو در تکست باکس مینویسه
مطمینی درست نوشتی؟

mohammad_kazem
جمعه 30 تیر 1391, 15:22 عصر
با سلام


این IP سیستم رو بر میگردونه


txtIP.Text = Request.UserHostAddress.ToString();




مقدار ایپی سیستم تو رو در تکست باکس مینویسه
مطمینی درست نوشتی؟

اره دقیقا همینو نوشتم ولی همون جواب بالایی رو میده

download69
جمعه 30 تیر 1391, 15:34 عصر
با سلام

Request.UserHostAddress.ToString();

این دستور آدرس آی پی یوزر رو نشون میده دیگه !
که اگر روی لوکال باشه آدرس 127.0.0.1 رو برمیگردونه
این متد کاملا درست است

TeacherMath
جمعه 30 تیر 1391, 15:34 عصر
خوب اون IP خودته

mohammad_kazem
جمعه 30 تیر 1391, 19:03 عصر
همه دوستان توجه کنید
من این تابع رو امتحان کردم جواب نمیده
اگه میشه کمک کنید

TeacherMath
جمعه 30 تیر 1391, 20:50 عصر
http://en.wikipedia.org/wiki/IPv6

Address format
An IPv6 address is represented by 8 groups of 16-bit values, each represented as 4 hexadecimal digits and separated by colons (:). For example:
2001:0db8:0000:0000:0000:ff00:0042:8329
The hexadecimal digits are not case-sensitive; e.g., the groups 0DB8 and 0db8 are equivalent.
An IPv6 address may be abbreviated by using one or more of the following rules:
Remove leading zeroes from one or more groups of hexadecimal digits; this is normally done to all groups that have leading zeroes. (For example, convert the group 0042 to 42.)
Combine consecutive sections of one or more zeroes, using a double colon (::) to denote the omitted sections. The double colon may only be used once in any given address, as the address would be indeterminate if it was used multiple times. (For example, 2001:db8::1:2 is valid, but 2001:db8::1::2 is not permitted.)
Below is an example of these rules:
Address 2001 : 0db8 : 0000 : 0000 : 0000 : ff00 : 0042 : 8329
After Rule 1, with leading zeroes removed 2001 : db8 : 0 : 0 : 0 : ff00 : 42 : 8329
After Rule 2, with consecutive sections of zeroes combined 2001 : db8 : : ff00 : 42 : 8329
Below are the text representations of these addresses:
Initial address: 2001:0db8:0000:0000:0000:ff00:0042:8329
After removing leading zeroes: 2001:db8:0:0:0:ff00:42:8329
After combining consecutive sections of zeroes: 2001:db8::ff00:42:8329
Another example is the loopback address, which can be abbreviated to ::1 by using both rules above:[40]
Initial address: 0000:0000:0000:0000:0000:0000:0000:0001
After removing leading zeroes: 0:0:0:0:0:0:0:1
After combining consecutive sections of zeroes: ::1
As IPv6 addresses may have more than one representation, which can lead to confusion, there is a proposed standard for representing them in text.[45]

ramin149
جمعه 30 تیر 1391, 23:15 عصر
HttpRequest request = base.Request;
string ip =request.UserHostAddress;

حامد مصافی
جمعه 30 تیر 1391, 23:43 عصر
این کد دقیقا اینو برمیگردونه "1::"
1:: یک IP ویژن ۶ هست که در نسخه ۴ معادل ۱۲۷.۰.۰.۱ یا همان localhost است.

karimim
دوشنبه 30 مرداد 1391, 03:21 صبح
سلام دوستان
اگه يه كم با شبكه كار كرده باشين بخصوص اينكه كلاينت شما داراي چند كارت شبكه باشه بدون در نظر گرفتن آي اينترنتي يا شبكه محلي متوجه مشكل استفاده از دستور Request.UserHostAddress ميشين
چون اين دستور تنها آي پي اولين كارت شبكه شما را بر مي گردونه مگر اينكه بقيه كارت شبكه هاي شما Disable شده باشن
پس بايد ابتدا تعداد كارت هاي شبكه نصب شده را بخوانيد و بعد از اون آي پي هاي آنها را بدست بيارين
البته من هنوز نتونستم اين كار را انجام بدم
موفق باشين

hypersys
پنج شنبه 20 مهر 1391, 12:14 عصر
string IP = HttpContext.Current.Request.UserHostAddress;

fakhravari
پنج شنبه 20 مهر 1391, 13:10 عصر
این چطوره
public static string GetClientIps()
{
try
{
string IpLocal = "";
IPAddress[] IpList = Dns.GetHostAddresses(Dns.GetHostName());
foreach (IPAddress IP in IpList)
{
if (IP.AddressFamily.ToString() == "InterNetwork")
{
if (IpLocal.Length > 0)
IpLocal += " - ";
IpLocal += IP.ToString();
}
}
return IpLocal;
}
catch { return "Not Availabel"; }
}
مثال
http://www.fakhravary.somee.com/test/Default16.aspx