WEB,如何用C#获取客户端计算机名和分辨率?

look4sword 2008-08-07 09:19:50
谢谢!
...全文
870 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
paulin 2008-08-07
  • 打赏
  • 举报
回复
学习~
capeyf 2008-08-07
  • 打赏
  • 举报
回复
LZ也要注意口气 大家都是再帮你解决问题

你可以试试我这个

计算机名称 = System.Net.Dns.GetHostName();

至于分辨率就用Request.Browser

你可以试验一下
fuzijing 2008-08-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 JeffChung 的回复:]
楼主想法有问题。c#代码是不在客户端运行的。

请先了解清楚web的工作机制
[/Quote]

同意。

如果写一个程序,获取客户端分辨率,

可是服务器在算呀,要是浏览的人多了,服务器不好整呀..

技术实现暂时不知,不过感觉思路不是很好吧...
begonia_ref 2008-08-07
  • 打赏
  • 举报
回复
mark
hengyan 2008-08-07
  • 打赏
  • 举报
回复
关注,楼主找到好方法了,记得给我说说,偶菜鸟,学习中
sxmonsy 2008-08-07
  • 打赏
  • 举报
回复
学习学习
chenglidexiaoxue 2008-08-07
  • 打赏
  • 举报
回复
既然JS可以获取到,就把获取到的信息传回服务器就可以了,实现下System.Web.UI.ICallBackEventHandler接口就可以进行客户端回调了
http://www.cnblogs.com/jailu/archive/2007/11/29/796045.html#976945
xuebin_hu 2008-08-07
  • 打赏
  • 举报
回复
水平太低,不清楚,看看!
look4sword 2008-08-07
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ojlovecd 的回复:]
C# code
Response.Write(System.Net.Dns.GetHostByAddress(Request.UserHostAddress).HostName);
[/Quote]


这位兄弟,这个我开始就用过了,本机测试是OK的,放到服务器上,取到的不是类似于域名的东西就是IP。
look4sword 2008-08-07
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 lovehongyun 的回复:]
http://dotnet.aspx.cc/ShowDetail.aspx?id=HLFQ4ZOY-N3GO-4R7Y-WY5R-XZZN2JY5J8HZ

试试孟子的这个行吗.
[/Quote]


谢谢这位兄弟,这个好像是不行的。

Request.Form["WidthPixel"]) 这个我直接输出为空
Request.UserHostName 这个我得到的还是IP
look4sword 2008-08-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 JeffChung 的回复:]
楼主想法有问题。c#代码是不在客户端运行的。

请先了解清楚web的工作机制
[/Quote]


麻烦这位兄弟也搞清楚,说话不用太偏激。
谁告诉你不在客户端运行就取不到的?
jiamingwudi 2008-08-07
  • 打赏
  • 举报
回复
学习
lovehongyun 2008-08-07
  • 打赏
  • 举报
回复
http://dotnet.aspx.cc/ShowDetail.aspx?id=HLFQ4ZOY-N3GO-4R7Y-WY5R-XZZN2JY5J8HZ

试试孟子的这个行吗.
sssjjjpppsjp 2008-08-07
  • 打赏
  • 举报
回复
学习
我姓区不姓区 2008-08-07
  • 打赏
  • 举报
回复

Response.Write(System.Net.Dns.GetHostByAddress(Request.UserHostAddress).HostName);
beijingbeerman 2008-08-07
  • 打赏
  • 举报
回复
<%=Request.serverVariables("REMOTE_ADDR")&"<br>"%>
<%=Request.serverVariables("REMOTE_HOST")&"<br>"%>

<script language="javascript">
<!--
switch(screen.width){
case 800:
alert(800);
location.href="800.htm";
break;
case 1024:
alert(1024);
location.href="1024.htm";
break;
}
//-->
</script>
wapit 2008-08-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 look4sword 的回复:]
拜托!!!!


没看清楚是C#吗?

JS的话我不用问你们了。

谢谢配合!
[/Quote]
又是WEB,又是C#,又不要JS, 你想咋搞?

不用JS,服务器端直接写个语句就取到了?
JeffChung 2008-08-07
  • 打赏
  • 举报
回复
楼主想法有问题。c#代码是不在客户端运行的。

请先了解清楚web的工作机制
wwd252 2008-08-07
  • 打赏
  • 举报
回复
来个比较全的

ClientPeek.aspx
======================
<%@ Page language="c#" Codebehind="ClientPeek.aspx.cs" AutoEventWireup="false" Inherits="WebPortal.ClientPeek" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>检测客户端显示器分辨率、浏览器类型和客户端IP</title>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body id="MyBody" MS_POSITIONING="GridLayout" runat="server">
<form id="browserpeek" runat="server">
<asp:label id="Label1" runat="server"></asp:label></form>
</body>
</HTML>

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace WebPortal
{
/// <summary>
/// CheckPeek 的摘要说明。
/// </summary>
public class ClientPeek : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.HtmlControls.HtmlGenericControl MyBody;


private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
System.Web.UI.WebControls.Button Button1 = new System.Web.UI.WebControls.Button();
if(!IsPostBack)
{
System.Web.UI.HtmlControls.HtmlInputHidden btnW = new System.Web.UI.HtmlControls.HtmlInputHidden();
System.Web.UI.HtmlControls.HtmlInputHidden btnH = new System.Web.UI.HtmlControls.HtmlInputHidden();
Button1.ID = "Button1";
btnW.Name = "WidthPixel";
btnW.ID = "WidthPixel";
btnH.Name = "HeightPixel";
btnH.ID = "HeightPixel";
this.FindControl("browserpeek").Controls.Add(btnW);
this.FindControl("browserpeek").Controls.Add(btnH);
this.FindControl("browserpeek").Controls.Add(Button1);
string scriptString = "";
scriptString += "document.browserpeek.WidthPixel.value=window.screen.width;";
scriptString += "document.browserpeek.HeightPixel.value=window.screen.height;";
this.RegisterOnSubmitStatement("Meng", scriptString);
this.MyBody.Attributes.Add("onload", "document.browserpeek.Button1.click();");
}
else
{
this.MyBody.Attributes.Remove("onload");
if(this.FindControl("browserpeek").Controls.Contains(Button1))
{
this.FindControl("browserpeek").Controls.Remove(Button1);
Button1.Dispose();
}
System.Text.StringBuilder strLabel = new System.Text.StringBuilder();
HttpBrowserCapabilities bc = Request.Browser;
strLabel.Append("您的浏览器的分辨率为:");
strLabel.Append(Request.Form["WidthPixel"]);
strLabel.Append("×");
strLabel.Append(Request.Form["HeightPixel"]);
strLabel.Append("<hr color='#000099'>");
strLabel.Append("浏览器基本信息:<br>");
strLabel.Append("Type = " + bc.Type + "<br>");
strLabel.Append("Name = " + bc.Browser + "<br>");
strLabel.Append("Version = " + bc.Version +"<br>");
strLabel.Append("Major Version = " + bc.MajorVersion + "<br>");
strLabel.Append("Minor Version = " + bc.MinorVersion + "<br>");
strLabel.Append("Platform = " + bc.Platform + "<br>");
strLabel.Append("Is Beta = " + bc.Beta + "<br>");
strLabel.Append("Is Crawler = " + bc.Crawler + "<br>");
strLabel.Append("Is AOL = " + bc.AOL + "<br>");
strLabel.Append("Is Win16 = " + bc.Win16 + "<br>");
strLabel.Append("Is Win32 = " + bc.Win32 + "<br>");
strLabel.Append("支持 Frames = " + bc.Frames + "<br>");
strLabel.Append("支持 Tables = " + bc.Tables + "<br>");
strLabel.Append("支持 Cookies = " + bc.Cookies + "<br>");
strLabel.Append("支持 VB Script = " + bc.VBScript + "<br>");
strLabel.Append("支持 JavaScript = " + bc.JavaScript + "<br>");
strLabel.Append("支持 Java Applets = " + bc.JavaApplets + "<br>");
strLabel.Append("支持 ActiveX Controls = " + bc.ActiveXControls + "<br>");
strLabel.Append("CDF = " + bc.CDF + "<br>");
strLabel.Append("W3CDomVersion = " + bc.W3CDomVersion.ToString() + "<br>");
strLabel.Append("UserAgent = " + Request.UserAgent + "<br>");
strLabel.Append("UserLanguages = " + Request.UserLanguages[0].ToString() + "<br>");
strLabel.Append("<hr color='#000099'>");
strLabel.Append("客户端计算机基本配置:<br>");
strLabel.Append("UserHostName = " + Request.UserHostName + "<br>");
strLabel.Append("UserHostAddress = " + Request.UserHostAddress + "<br>");
Label1.Text = strLabel.ToString();
}

}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}

suyiming 2008-08-07
  • 打赏
  • 举报
回复
浏览者操作系统的默认语言
Request.ServerVariables.Get("HTTP_ACCEPT_LANGUAGE")
客户端ip:
Request.ServerVariables.Get("Remote_Addr");
客户端主机名:
Request.ServerVariables.Get("Remote_Host");
服务器ip:
Request.ServerVariables.Get("Local_Addr");
服务器名:
Request.ServerVariables.Get("Server_Name");
获得用户登陆名
Request.ServerVariables.Get("LOGON_USER");
加载更多回复(5)

62,204

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧