當前位置:首頁 » 雲伺服器 » 獲取伺服器地址的函數

獲取伺服器地址的函數

發布時間: 2022-05-16 11:57:20

『壹』 如何獲取客戶端和伺服器ip地址

您好,.X.XXX.XXX系列IP,而這個函數獲取的是區域網網關出口的IP地址,如果訪問者使用代理伺服器,將不獲取代理伺服器的IP,而是獲取訪問者網關的真實IP。如果將這個函數應用到限IP訪問的網頁中,別人即使通過限IP訪問段中的代理伺服器,也不能訪問該頁面。
下面提供一個函數:<?php
// 定義一個函數getIP()
function getIP(){global $ip;
if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if(getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if(getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");else$ip = "Unknow";
return $ip;}
// 使用方法:
echo getIP();?>
getenv("REMOTE_ADDR")用來取得客戶端的 IP 地址,但如果客戶端是使用代理伺服器來訪問,那取到的就是代理伺服器的 IP 地址,而不是真正的客戶端 IP 地址。要想透過代理伺服器取得客戶端的真實 IP 地址,就要使用 getenv("HTTP_X_FORWARDED_FOR") 來讀取。
但是如果客戶端沒有通過代理伺服器來訪問,那麼用getenv("HTTP_X_FORWARDED_FOR") 取到的值將是空的。
else if(getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
表示如果getenv("HTTP_X_FORWARDED_FOR") 取到的值存在不為空(即客戶端使用代理伺服器的情況下),則變數$ip等於getenv("HTTP_X_FORWARDED_FOR") 取到的真實IP值。
如果上面的else if(getenv("HTTP_X_FORWARDED_FOR"))取得的值為空(即沒有使用代理伺服器),則不會執行下面的$ip = getenv("HTTP_X_FORWARDED_FOR");這一行語句。
這種情況下已經確認客戶端沒有使用代理伺服器,從而通過
else if(getenv("REMOTE_ADDR"))
這兩行語句獲得客戶端的IP地址也是真實的IP地址。

『貳』 asp.net 獲取伺服器地址

有一個類叫Uri 這樣寫
Uri u = new Uri(url) //url是你的完整路徑
u.host 就是你要的

『叄』 js responseText 如何獲得伺服器數據@!拜託了各位 謝謝

創建一個Ajax對象,這個跟瀏覽器有關,不同的瀏覽器支持不同的Ajax對象. 然後使用這個對象打開需要訪問的伺服器地址,在onreadystatechange函數中根據各種訪問和返回狀態處理數據. 當Ajax對象的readyState == 4且status == 200的時候代表伺服器正常返回數據,然後通過Ajax對象的responseText變數就能獲取伺服器返回的數據文本. 具體請搜索Ajax資料.

『肆』 如何獲取用戶伺服器的IP地址

  • 開發工程中,需要給第三方提供介面,由於是僅僅對單獨一人提供介面支持,就暫時採取了IP白名單過濾的方式處理。下面是獲取用戶IP地址的方法privatefunctiongetIP(){

static$realip;

if(isset($_SERVER)){

if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){

$realip=$_SERVER["HTTP_X_FORWARDED_FOR"];

}elseif(isset($_SERVER["HTTP_CLIENT_IP"])){

$realip=$_SERVER["HTTP_CLIENT_IP"];

}else{

$realip=$_SERVER["REMOTE_ADDR"];

}

}else{

if(getenv("HTTP_X_FORWARDED_FOR")){

$realip=getenv("HTTP_X_FORWARDED_FOR");

}elseif(getenv("HTTP_CLIENT_IP")){

$realip=getenv("HTTP_CLIENT_IP");

}else{

$realip=getenv("REMOTE_ADDR");

}

}

return$realip;

}

『伍』 怎麼用c或者c++代碼獲取默認DNS伺服器的ip

這里的代碼可以列印出電腦默認的DNS伺服器

#pragmawarning(disable:4996)
#include<stdio.h>
#include<WinSock2.h>
#include<iphlpapi.h>

#pragmacomment(lib,"IPHLPAPI.lib")
#pragmacomment(lib,"ws2_32.lib")
intmain()//獲取本地主機名、域名和DNS伺服器信息
{
//聲明變數
FIXED_INFO*FixedInfo;//定義保存本地計算機網路參數信息的結構體指針
ULONGulOutBufLen;//保存獲取到的本地計算機網路參數信息結構體鏈表的長度
DWORDdwRetVal;//調用GetNetworkParams()函數的返回值
IP_ADDR_STRING*pIPAddr;//保存所有DNS伺服器的IP地址列表

FixedInfo=(FIXED_INFO*)GlobalAlloc(GPTR,sizeof(FIXED_INFO));//為FixedInfo結構體分配內存空間
ulOutBufLen=sizeof(FIXED_INFO);//初始化ulOutBufLen變數值

//第1次調用GetNetworkParams()函數,獲取返回結果的大小到ulOutBufLen中
if(ERROR_BUFFER_OVERFLOW==GetNetworkParams(FixedInfo,&ulOutBufLen))
{
GlobalFree(FixedInfo);
FixedInfo=(FIXED_INFO*)GlobalAlloc(GPTR,ulOutBufLen);
}

//第2次調用GetNetworkParams()函數,以前面獲取的ulOutBufLen作為參數,
if(dwRetVal=GetNetworkParams(FixedInfo,&ulOutBufLen)!=ERROR_SUCCESS)
{
printf("調用GetNetworkParams()函數失敗。返回值:%08x ",dwRetVal);
}
else
{
printf(" DNS伺服器列表: ");
printf("%s ",FixedInfo->DnsServerList.IpAddress.String);

pIPAddr=FixedInfo->DnsServerList.Next;
while(pIPAddr)
{
printf(" %s ",pIPAddr->IpAddress.String);
pIPAddr=pIPAddr->Next;
}
}
printf("按下回車鍵結束 ");
getchar();
return0;
}

『陸』 sql獲取獲取時間的函數是getdate(), 請問獲取IP,計算機名的函數是什麼

if
exists
(select
*
from
dbo.sysobjects
where
id
=
object_id(N
'[dbo].[p_getlinkinfo]
')
and
OBJECTPROPERTY(id,
N
'IsProcere
')
=
1)
drop
procere
[dbo].[p_getlinkinfo]
GO
/*--獲取連接SQL伺服器的信息
所有連接本機的:操作的資料庫名,計算機名,用戶名,網卡物理地址,IP地址,程序名
--鄒建
2003.11(引用請保留此信息)--*/
/*--調用示例
--顯示所有本機的連接信息
exec
p_getlinkinfo
--顯示所有本機的連接信息,包含ip地址
exec
p_getlinkinfo
@includeip=1
--顯示連接指定資料庫的信息
exec
p_getlinkinfo
'客戶資料
'
--*/
create
proc
p_getlinkinfo
@dbname
sysname=null,
--要查詢的資料庫名,默認查詢所有資料庫的連接信息
@includeip
bit=0
--是否顯示IP地址,因為查詢IP地址比較費時,所以增加此控制
as
declare
@dbid
int
set
@dbid=db_id(@dbname)
create
table
#tb(id
int
identity(1,1),dbname
sysname,hostname
nchar(128),loginname
nchar(128),net_address
nchar(12),net_ip
nvarchar(15),prog_name
nchar(128))
insert
into
#tb(hostname,dbname,net_address,loginname,prog_name)
select
distinct
hostname,db_name(dbid),net_address,loginame,program_name
from
master..sysprocesses
where
hostname
<>
'
'
and
(@dbid
is
null
or
dbid=@dbid)
if
@includeip=0
goto
lb_show
--如果不顯示IP地址,就直接顯示
declare
@sql
varchar(500),@hostname
nchar(128),@id
int
create
table
#ip(hostname
nchar(128),a
varchar(200))
declare
tb
cursor
local
for
select
distinct
hostname
from
#tb
open
tb
fetch
next
from
tb
into
@hostname
while
@@fetch_status=0
begin
set
@sql=
'ping
'+@hostname+
'
-a
-n
1
-l
1
'
insert
#ip(a)
exec
master..xp_cmdshell
@sql
update
#ip
set
hostname=@hostname
where
hostname
is
null
fetch
next
from
tb
into
@hostname
end
update
#tb
set
net_ip=left(a,patindex(
'%:%
',a)-1)
from
#tb
a
inner
join
(
select
hostname,a=substring(a,patindex(
'Ping
statistics
for
%:%
',a)+20,20)
from
#ip
where
a
like
'Ping
statistics
for
%:%
')
b
on
a.hostname=b.hostname
lb_show:
select
id,資料庫名=dbname,客戶機名=hostname,用戶名=loginname
,網卡物理地址=net_address,IP地址=net_ip,應用程序名稱=prog_name
from
#tb
go

『柒』 Java中伺服器端ServerSocket對象怎麼獲取伺服器端地址和埠號,怎麼獲取遠程請求的

ServerSocket s = new ServerSocket(8888);
while (true) {
// 建立連接
Socket socket = s.accept();

/ /getInetAddress()獲取遠程ip地址,getPort()遠程客戶端的斷後好
"你好,客戶端地址信息: " + socket.getInetAddress() + "\t客戶端通信埠號: " + socket.getPort()

『捌』 取得drupal根目錄在伺服器上的路徑的函數要怎麼寫

Drupal提供了幾個獲取常見幾個路徑的方法:

base_path() :獲取drupal系統的根目錄,如/
base_url :獲取根路徑url, (link is external)
getcwd() :獲取物理系統的地址,如/var/www/drupal/
此外,還有獲取一個文件的路徑的方法:

d6: file_directory_path
d7: drupal_realpath('public://')

『玖』 linux上函數獲取DHCP服務端ip

按你說的意思 如果有分配ip的服務端 你作為客戶端需要打開dhcp功能 找個功能在linux系統中好找/etc/sysconfig/network-scripts/ifcfg-eth0 (eth0是你的網卡名 每個機器都不一樣 這個是我機器上的 你的不一定是eth0) 添加或者改寫找個東西BOOTPROTO=dhcp 然後重啟服務 service network restart 就可以自動獲取ip地址了
用ifconfig 可以看到 dhcp獲得的ip地址

『拾』 怎樣獲取伺服器根地址 php

用$_SERVER['HTTP_HOST'] #命令即可獲取
擴展:
PHP編程中經常需要用到一些伺服器的一些資料,特把$_SERVER的詳細參數整理下,方便以後使用。
$_SERVER['PHP_SELF'] #當前正在執行腳本的文件名,與 document root相關。
$_SERVER['argv'] #傳遞給該腳本的參數。
$_SERVER['argc'] #包含傳遞給程序的命令行參數的個數(如果運行在命令行模式)。
$_SERVER['GATEWAY_INTERFACE'] #伺服器使用的 CGI 規范的版本。例如,「CGI/1.1」。
$_SERVER['SERVER_NAME'] #當前運行腳本所在伺服器主機的名稱。
$_SERVER['SERVER_SOFTWARE'] #伺服器標識的字串,在響應請求時的頭部中給出。
$_SERVER['SERVER_PROTOCOL'] #請求頁面時通信協議的名稱和版本。例如,「HTTP/1.0」。
$_SERVER['REQUEST_METHOD'] #訪問頁面時的請求方法。例如:「GET」、「HEAD」,「POST」,「PUT」。
$_SERVER['QUERY_STRING'] #查詢(query)的字元串。
$_SERVER['DOCUMENT_ROOT'] #當前運行腳本所在的文檔根目錄。在伺服器配置文件中定義。
$_SERVER['HTTP_ACCEPT'] #當前請求的 Accept: 頭部的內容。
$_SERVER['HTTP_ACCEPT_CHARSET'] #當前請求的 Accept-Charset: 頭部的內容。例如:「iso-8859-1,*,utf-8」。
$_SERVER['HTTP_ACCEPT_ENCODING'] #當前請求的 Accept-Encoding: 頭部的內容。例如:「gzip」。
$_SERVER['HTTP_ACCEPT_LANGUAGE']#當前請求的 Accept-Language: 頭部的內容。例如:「en」。
$_SERVER['HTTP_CONNECTION'] #當前請求的 Connection: 頭部的內容。例如:「Keep-Alive」。
$_SERVER['HTTP_HOST'] #當前請求的 Host: 頭部的內容。
$_SERVER['HTTP_REFERER'] #鏈接到當前頁面的前一頁面的 URL 地址。
$_SERVER['HTTP_USER_AGENT'] #當前請求的 User_Agent: 頭部的內容。
$_SERVER['HTTPS'] — 如果通過https訪問,則被設為一個非空的值(on),否則返回off
$_SERVER['REMOTE_ADDR'] #正在瀏覽當前頁面用戶的 IP 地址。
$_SERVER['REMOTE_HOST'] #正在瀏覽當前頁面用戶的主機名。
$_SERVER['REMOTE_PORT'] #用戶連接到伺服器時所使用的埠。
$_SERVER['SCRIPT_FILENAME'] #當前執行腳本的絕對路徑名。
$_SERVER['SERVER_ADMIN'] #管理員信息
$_SERVER['SERVER_PORT'] #伺服器所使用的埠
$_SERVER['SERVER_SIGNATURE'] #包含伺服器版本和虛擬主機名的字元串。
$_SERVER['PATH_TRANSLATED'] #當前腳本所在文件系統(不是文檔根目錄)的基本路徑。
$_SERVER['SCRIPT_NAME'] #包含當前腳本的路徑。這在頁面需要指向自己時非常有用。
$_SERVER['REQUEST_URI'] #訪問此頁面所需的 URI。例如,「/index.html」。
$_SERVER['PHP_AUTH_USER'] #當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的用戶名。
$_SERVER['PHP_AUTH_PW'] #當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變數便是用戶輸入的密碼。

熱點內容
雲伺服器2m寬是多少 發布:2024-04-19 11:56:36 瀏覽:727
android層布局 發布:2024-04-19 11:52:13 瀏覽:770
1500元組裝伺服器電腦 發布:2024-04-19 11:47:25 瀏覽:468
qq改密碼怎麼改手機 發布:2024-04-19 11:39:17 瀏覽:968
電腦上如何看wifi密碼 發布:2024-04-19 11:34:14 瀏覽:415
java性能測試腳本 發布:2024-04-19 11:25:24 瀏覽:980
存儲成本與性能 發布:2024-04-19 11:16:18 瀏覽:168
linux根文件系統製作 發布:2024-04-19 11:16:12 瀏覽:746
光遇夏日活動什麼時候安卓上線 發布:2024-04-19 11:08:15 瀏覽:854
Java開羅 發布:2024-04-19 10:50:55 瀏覽:959