会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
偶然微笑--专注于.net
博客园
::
首页
::
博问
::
闪存
::
新随笔
::
联系
::
订阅
::
管理
::
公告
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 on
2008-09-20 07:15
偶然微笑
阅读(
310
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部