当前位置:首页 » 云服务器 » 获取服务器地址的函数

获取服务器地址的函数

发布时间: 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 认证功能,这个变量便是用户输入的密码。

热点内容
华为手机的自带铃声文件夹 发布:2024-05-02 07:20:14 浏览:501
xp系统开机密码怎么设置 发布:2024-05-02 06:49:48 浏览:759
柱加密区公式 发布:2024-05-02 06:40:19 浏览:4
java字节转换 发布:2024-05-02 06:40:11 浏览:687
用c语言做的程序 发布:2024-05-02 06:26:10 浏览:325
解压用流量 发布:2024-05-02 06:21:46 浏览:316
云购源码系统 发布:2024-05-02 06:12:52 浏览:105
电脑如何进行安卓升级 发布:2024-05-02 06:10:08 浏览:37
元龙第5集免费看完整版缓存 发布:2024-05-02 06:03:47 浏览:668
脚本宣传片 发布:2024-05-02 05:56:26 浏览:570