CGI中:如何获得客户端的计算机名?(50分)

  • 主题发起人 主题发起人 njgyn
  • 开始时间 开始时间
N

njgyn

Unregistered / Unconfirmed
GUEST, unregistred user!
CGI中:如何获得客户端的计算机名(标识而非IP地址)?
 
困难。要用反向域名查找
 
tqz:是困难?不是不可能?能说得详细一些吗?
 
用反向域名的方法就是几乎不可能了,有其他办法吗?
 
在ASP中用环境变量
<%= Request.ServerVariables("REMOTE_HOST") %>
能够得到客户端的主机名

 
用API函数:
var rs:array[0..100]of char;
...
getenvironmentvariable('remote_user',rs,sizeof(rs));
其中rs返回的即是客户端的主机名
 
//Sigh,发送完消息之后自己没有再看一下,结果关键的地方没有显示出来,:(

环境变量的名字是:REMOTE_HOST,在IIS Web服务器上面是可以的。
另外还有一个变量是 REMOTE_ADDR
 
To 小天:
hehe, 你的答案中怎么是"remote_user"?这个环境变量中给出的是用户的标识,
不是机器的标识。
 
pegasus,小天:两位的方法我试过了,但不行。
remote_host与remote_addr返回的都是IP地址。
我是用一台配置稍好些的PC机做服务器的,环境为WinNT4.0,
不知是否与此有关?
 
刚才我试了一下, REMOTE_HOST和REMOTE_ADDR返回的是同样的IP地址!,//Sigh
不过有又发现:用REMOTE_USER环境变量能够得到机器的标识和用户的标识:
在我的机器上面的例子是:REMOTE_USER="METEOR/ping",我的机器名是Meteor
我的用户名是ping.

看来我原先犯了望文生义的错误:小天是对的!

不知道通过Unix上面的NetScape等浏览器访问服务器会是什么结果
 
我用remote_user什么都得不到呀?返回空值,???
 
没有这个环境变量?
我在asp中用的例子是这样的:
&lr%= Request.ServerVariables("REMOTE_USER") %&gr
 
Sorry, &lt和&gt的转义代码写错了
没有这个环境变量?
我在asp中用的例子是这样的:
&lt%= Request.ServerVariables("REMOTE_USER") %&gt
 
我是按小天的方法试的,但返回为空?哪儿出了问题呢?
pegasus:你写的
<%= Request.ServerVariables("REMOTE_USER") %>
是什么意思?
Request没有ServerVariables这个property/menthod啊??
 
sorry,中间一句没出来,请问pegasus:
你写在<...>中的这句该如何理解?用在CGI程序中的吗?
 
我的例子中的代码是asp(Active Server Pages),本论坛就是用这种语言写的
用小天的例子的时候变量的名字应该全部用大写吧!
getenvironmentvariable('REMOTE_USER',rs,sizeof(rs));
 
Wuu, 太。。。
从别人的机器访问的时候显示的都是空白耶!
只有自己的机器才正常,:(~~~~~~~~~
 
pegasus:DELPHI不区分大小写的
njgyn:我也常遇到此种情况,SORRY,我并不知如何解决

另:ASP与DELPHI的返回值都是一样,也就是说,都是空值
 
:(~~~~~~~~~
看来50分给少了。。。
 
后退
顶部