asp.netで現在のurlを取得する方法
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です。
リクエスト.Url.PathAndQuery
文字列 タイプになります。Request.Url.AbsolutePathとRequest.Url.Queryを合計したものと同じです。
リクエスト.Url.AbsolutePath
文字列 タイプです。クエリ文字列部分を除いた、現在のページURLの絶対パスを参照する。
例 /test/Default.aspx
リクエスト.Url.Query(クエリー
文字列 タイプです。現在のページURLのクエリ文字列を指し、"?"で始まるものを指します。
例: ?a=1&b=2
1. ASP.NET経由での取得
テストURLのアドレスがhttp://www.test.com/testweb/default.aspx、結果は次のようになります。
リクエスト.ApplicationPath: /testweb
Request.CurrentExecutionFilePathを指定します。/testweb/default.aspx
Request.FilePath。/testweb/default.aspx
Request.Path: /testweb/default.aspx
PhysicalApplicationPathです。E:\WWWtestwebRequest.PhysicalPath: E:\WWWtestweb.Desault.aspx
リクエスト.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。
リクエスト.Url.LocalPath: /testweb/default.aspx
<テーブル
<スパン
<スパン
<スパン
<スパン
<スパン
<スパン
<スパン
/
ニュース/
プレス/
コンテンツ.aspx/
<スパン <スパン <スパン <スパン <スパン <スパン <スパン 123
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> ".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> ".ThisTLoc: </tr></td>["];
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アドレスを取得します。
システムを使用します。
文字列 myIP,myMac;
System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
if ( addressList.Length>1)
{
<未定義
myIP = addressList[0].ToString()。
myMac = addressList[1].ToString()。
}
さもなければ
{
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>
オブジェクト 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/>Hostname: <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.ImpersonationLevelを指定します。
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 ! = null &&&& objObject.IPEnabled == true)
<未定義
if(objObject.IPEnabled && objObject.IPAddress(0) ! =null && objObject.IPAddress(0) ! = "未定義")
sIPAddr = objObject.IPAddress(0);
if(objObject.MACAddress ! = null &&objObject.MACAddressの ! = "未定義")
sMacAddr = objObject.MACAddress;
if(objObject.DNSHostName != null &&objObject.DNSHostName != "undefined")
sDNSName = objObject.DNSHostName;
}
</script>
<script FOR="foo" EVENT="OnCompleted(hResult,pErrorObject, pAsyncContext)" LANGUAGE="JScript">.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
myForm.macAddress.value=sMacAddr;
myForm.ipAddress.value=sIPAddr。
myForm.hostName.value=sDNSNameを指定します。
</script>
関連
-
C# string.format でのエラー: 入力文字列が正しい形式でない
-
C#でUSBデバイスを操作する方法
-
VS エラー LNK2005:**already defined in **.obj
-
HTTP エラー 500.22 - 内部サーバー エラー-IIS7 Asp.net2.0 ウェブサイトの実行ソリューションに失敗しました。
-
不正なフォーマットでプログラムを読み込もうとした場合の問題を解決します。
-
vs2010 can't debug, can't enter breakpoint, breakpoint is invalid.
-
C#のビルドコードで、すべてのコードパスが値を返さないエラーが発生する
-
C#の構文]をご覧ください。C#のリフレクション(アセンブリ)機構を説明する
-
AppDomainとAssemblyの動的なロードとアンロード
-
GDI+でジェネリックエラーが発生しました@System.Drawing.Image.RotateFlip
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
C# indexof() の使用法
-
C#の遅延関数の使用
-
C#高精度遅延コード実行時間(us/ns)
-
C#の面接質問100選(.net開発者必見)
-
C#とC++の型対応表まとめ
-
エラーです。コレクションが変更されました。列挙操作が実行されない可能性があります。
-
Unityがエラーを報告します。コレクションが変更されました。列挙操作が実行されない可能性があります。
-
このリソースにアクセスするには完全な認証が必要です Unauthorized
-
System.InvalidOperationException: ConnectionString プロパティが初期化されていません。
-
C# データベース操作エラー。この接続に関連付けられた開いているDataReaderがすでにあり、これを閉じる必要があります...