会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Keep Walking
no matter what has happened...what's happening...what will happen...we must be on the way...
博客园
首页
新随笔
联系
管理
订阅
asp.net获取URL和IP地址
HttpContext.Current.Request.Url.ToString() 并不可靠。
如果当前URL为
http:
//
localhost/search.aspx?user=
http://csharp.xdowns.com
&tag=%BC%BC%CA%F5
通过HttpContext.Current.Request.Url.ToString()获取到的却是
http:
//
localhost/search.aspxuser=
http://csharp.xdowns.com
&tag=¼¼Êõ
正确的方法是:HttpContext.Current.Request.Url.PathAndQuery
1
、通过ASP.NET获取
如果测试的url地址是http:
//
www.test.com/testweb/default.aspx, 结果如下:
Request.ApplicationPath:
/
testweb
Request.CurrentExecutionFilePath:
/
testweb
/
default
.aspx
Request.FilePath:
/
testweb
/
default
.aspx
Request.Path:
/
testweb
/
default
.aspx
Request.PhysicalApplicationPath: E:\WWW\testwebRequest.PhysicalPath: E:\WWW\testweb\
default
.aspx
Request.RawUrl:
/
testweb
/
default
.aspx
Request.Url.AbsolutePath:
/
testweb
/
default
.aspx
Request.Url.AbsoluteUrl: http:
//
www.test.com/testweb/default.aspx
Request.Url.Host: www.test.com
Request.Url.LocalPath:
/
testweb
/
default
.aspx
2
、通过JS获取
<
table width
=
100
%
cellpadding
=
0
cellspacing
=
0
border
=
0
>
<
script
>
thisURL
=
document.URL;
thisHREF
=
document.location.href;
thisSLoc
=
self.location.href;
thisDLoc
=
document.location;
strwrite
=
"
<tr><td valign=top>thisURL: </td><td>[
"
+
thisURL
+
"
]</td></tr>
"
strwrite
+=
"
<tr><td valign=top>thisHREF: </td><td>[
"
+
thisHREF
+
"
]</td></tr>
"
strwrite
+=
"
<tr><td valign=top>thisSLoc: </td><td>[
"
+
thisSLoc
+
"
]</td></tr>
"
strwrite
+=
"
<tr><td valign=top>thisDLoc: </td><td>[
"
+
thisDLoc
+
"
]</td></tr>
"
document.write( strwrite );
</
script
>
thisDLoc
=
document.location;
<
BR
>
thisURL
=
document.URL;
<
BR
>
thisHREF
=
document.location.href;
<
BR
>
thisSLoc
=
self.location.href;
<
BR
>
<
script
>
thisTLoc
=
top.location.href;
thisPLoc
=
parent.document.location;
thisTHost
=
top.location.hostname;
thisHost
=
location.hostname;
strwrite
=
"
<tr><td valign=top>thisTLoc: </td><td>[
"
+
thisTLoc
+
"
]</td></tr>
"
strwrite
+=
"
<tr><td valign=top>thisPLoc: </td><td>[
"
+
thisPLoc
+
"
]</td></tr>
"
strwrite
+=
"
<tr><td valign=top>thisTHost: </td><td>[
"
+
thisTHost
+
"
]</td></tr>
"
strwrite
+=
"
<tr><td valign=top>thisHost: </td><td>[
"
+
thisHost
+
"
]</td></tr>
"
document.write( strwrite );
</
script
>
thisTLoc
=
top.location.href;
<
BR
>
thisPLoc
=
parent.document.location;
<
BR
>
thisTHost
=
top.location.hostname;
<
BR
>
thisHost
=
location.hostname;
<
BR
>
<
script
>
tmpHPage
=
thisHREF.split(
"
/
"
);
thisHPage
=
tmpHPage[ tmpHPage.length
-
1
];
tmpUPage
=
thisURL.split(
"
/
"
);
thisUPage
=
tmpUPage[ tmpUPage.length
-
1
];
strwrite
=
"
<tr><td valign=top>thisHPage: </td><td>[
"
+
thisHPage
+
"
]</td></tr>
"
strwrite
+=
"
<tr><td valign=top>thisUPage: </td><td>[
"
+
thisUPage
+
"
]</td></tr>
"
document.write( strwrite );
</
script
><
tr
><
td
>
=================
获取IP
1
、ASP.NET中获取
获取服务器的IP地址:
using
System.Net;
string
myIP,myMac;
System.Net.IPAddress[] addressList
=
Dns.GetHostByName(Dns.GetHostName()).AddressList;
if
( addressList.Length
>
1
)
{
myIP
=
addressList[
0
].ToString();
myMac
=
addressList[
1
].ToString();
}
else
{
myIP
=
addressList[
0
].ToString();
myMac
=
"
没有可用的连接
"
;
}
myIP地址就是服务器端的ip地址。
获取客户端的ip地址,可以使用
//
获取登录者ip地址
string
ip
=
Request.ServerVariables[
"
REMOTE_ADDR
"
].ToString();
2
、通过JS获取
<
html
>
<
head
>
<
title
></
title
>
<
meta http
-
equiv
=
"
Content-Type
"
content
=
"
text/html; charset=gbk
"
>
</
head
>
<
body
>
<
object
classid
=
"
CLSID:76A64158-CB41-11D1-8B02-00600806D9B6
"
id
=
"
locator
"
style
=
"
display:none;visibility:hidden
"
></
object
>
<
object
classid
=
"
CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223
"
id
=
"
foo
"
style
=
"
display:none;visibility:hidden
"
></
object
>
<
form name
=
"
myForm
"
>
<
br
/>
MAC地址:
<
input type
=
"
text
"
name
=
"
macAddress
"
>
<
br
/>
IP地址:
<
input type
=
"
text
"
name
=
"
ipAddress
"
>
<
br
/>
主机名:
<
input type
=
"
text
"
name
=
"
hostName
"
>
</
form
>
</
body
>
</
html
>
<
script language
=
"
javascript
"
>
var sMacAddr
=
""
;
var sIPAddr
=
""
;
var sDNSName
=
""
;
var service
=
locator.ConnectServer();
service.Security_.ImpersonationLevel
=
3
;
service.InstancesOfAsync(foo,
'
Win32_NetworkAdapterConfiguration
'
);
</
script
>
<
script FOR
=
"
foo
"
EVENT
=
"
OnObjectReady(objObject,objAsyncContext)
"
LANGUAGE
=
"
JScript
"
>
if
(objObject.IPEnabled
!=
null
&&
objObject.IPEnabled
!=
"
undefined
"
&&
objObject.IPEnabled
==
true
)
{
if
(objObject.IPEnabled
&&
objObject.IPAddress(
0
)
!=
null
&&
objObject.IPAddress(
0
)
!=
"
undefined
"
)
sIPAddr
=
objObject.IPAddress(
0
);
if
(objObject.MACAddress
!=
null
&&
objObject.MACAddress
!=
"
undefined
"
)
sMacAddr
=
objObject.MACAddress;
if
(objObject.DNSHostName
!=
null
&&
objObject.DNSHostName
!=
"
undefined
"
)
sDNSName
=
objObject.DNSHostName;
}
</
script
>
<
script FOR
=
"
foo
"
EVENT
=
"
OnCompleted(hResult,pErrorObject, pAsyncContext)
"
LANGUAGE
=
"
JScript
"
>
myForm.macAddress.value
=
sMacAddr;
myForm.ipAddress.value
=
sIPAddr;
myForm.hostName.value
=
sDNSName;
</
script
>
posted @
2007-11-19 18:04
Fernando
阅读(
550
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告