牛腩新闻发布正在进行,面对前17集的后台制作,真的有一种相见恨晚的感觉,不得不佩服牛老师(虽然他不姓牛)对于一个系统的宏观把握。接着来到了HTML的前台设计,牛老师又一次将我震撼,调代码的时间基本不会超过5秒。孰能生巧,一种船到桥头自然直的感觉。
最后来到了前台和后台整合的部分,获取访问页IP的时候,出现了这么一个错误。如图所示
大家看到没有,在页面的左上方本应该出现的是我的本机ip地址,但是出现了::1这样的错误i
首先找到了错误的原因:由于我的系统是win764位操作系统,采用的是ipv6。
先来看看我的代码吧。
<span style="font-size:18px;"><strong>//添加进数据数 string com_content = txtcomment.Text; string newsid = Request.QueryString["newsid"]; string userIp = Request.ServerVariables["REMOTE_ADDR"];</strong></span>关于上面的代码重要的是 string userIp = Request.ServerVariables["REMOTE_ADDR"];这段代码。但是我查了好多的方法就是无法解决不显示::1让它显示本地ip的方法,所以我想出了这么一个办法。
<span style="font-size:18px;"><strong> //添加进数据数 string com_content = txtcomment.Text; string newsid = Request.QueryString["newsid"]; string userIp = Request.ServerVariables["REMOTE_ADDR"]; if (userIp == "::1") { userIp = "192.168.24.100"; } </strong></span>
最后显示:
如果大家有更好的方法,可以和我交流学习。最后
Request.ServerVariables[] 读解
Request.ServerVariables["Url"]
返回服务器地址
Request.ServerVariables["Path_Info"]
客户端提供的路径信息
Request.ServerVariables["Appl_Physical_Path"]
与应用程序元数据库路径相应的物理路径
Request.ServerVariables["Path_Translated"]
通过由虚拟至物理的映射后得到的路径
Request.ServerVariables["Script_Name"]
执行脚本的名称
Request.ServerVariables["Query_String"]
查询字符串内容
Request.ServerVariables["Http_Referer"]
请求的字符串内容
Request.ServerVariables["Server_Port"]
接受请求的服务器端口号
Request.ServerVariables["Remote_Addr"]
发出请求的远程主机的IP地址
Request.ServerVariables["Remote_Host"]
发出请求的远程主机名称
Request.ServerVariables["Local_Addr"]
返回接受请求的服务器地址
Request.ServerVariables["Http_Host"]
返回服务器地址
Request.ServerVariables["Server_Name"]
服务器的主机名、DNS地址或IP地址
Request.ServerVariables["Request_Method"]
提出请求的方法比如GET、HEAD、POST等等
Request.ServerVariables["Server_Port_Secure"]
如果接受请求的服务器端口为安全端口时,则为1,否则为0
Request.ServerVariables["Server_Protocol"]
服务器使用的协议的名称和版本
Request.ServerVariables["Server_Software"]
应答请求并运行网关的服务器软件的名称和版本
Request.ServerVariables["All_Http"]
客户端发送的所有HTTP标头,前缀HTTP_
Request.ServerVariables["All_Raw"]
客户端发送的所有HTTP标头,其结果和客户端发送时一样,没有前缀HTTP_
Request.ServerVariables["Appl_MD_Path"]
应用程序的元数据库路径
Request.ServerVariables["Content_Length"]
客户端发出内容的长度
Request.ServerVariables["Https"]
如果请求穿过安全通道(SSL),则返回ON如果请求来自非安全通道,则返回OFF
Request.ServerVariables["Instance_ID"]
IIS实例的ID号
Request.ServerVariables["Instance_Meta_Path"]
响应请求的IIS实例的元数据库路径
Request.ServerVariables["Http_Accept_Encoding"]
返回内容如:gzip,deflate
Request.ServerVariables["Http_Accept_Language"]
返回内容如:en-us
Request.ServerVariables["Http_Connection"]
返回内容:Keep-Alive
Request.ServerVariables["Http_Cookie"]
返回内容:Cookie的值
Request.ServerVariables["Http_User_Agent"]
返回内容:Mozilla/4.0[compatible;MSIE6.0;WindowsNT5.1;SV1]
Request.ServerVariables["Https_Keysize"]
安全套接字层连接关键字的位数,如128
Request.ServerVariables["Https_Secretkeysize"]
服务器验证私人关键字的位数如1024
Request.ServerVariables["Https_Server_Issuer"]
服务器证书的发行者字段
Request.ServerVariables["Https_Server_Subject"]
服务器证书的主题字段
Request.ServerVariables["Auth_Password"]
当使用基本验证模式时,客户在密码对话框中输入的密码
Request.ServerVariables["Auth_Type"]
是用户访问受保护的脚本时,服务器用於检验用户的验证方法
Request.ServerVariables["Auth_User"]
代证的用户名
Request.ServerVariables["Cert_Cookie"]
唯一的客户证书ID号
Request.ServerVariables["Cert_Flag"]
客户证书标志,如有客户端证书,则bit0为0如果客户端证书验证无效,bit1被设置为1
Request.ServerVariables["Cert_Issuer"]
用户证书中的发行者字段
Request.ServerVariables["Cert_Keysize"]
安全套接字层连接关键字的位数,如128
Request.ServerVariables["Cert_Secretkeysize"]
服务器验证私人关键字的位数如1024
Request.ServerVariables["Cert_Serialnumber"]
客户证书的序列号字段
Request.ServerVariables["Cert_Server_Issuer"]
服务器证书的发行者字段
Request.ServerVariables["Cert_Server_Subject"]
服务器证书的主题字段
Request.ServerVariables["Cert_Subject"]
客户端证书的主题字段
Request.ServerVariables["Content_Type"]
客户发送的form内容或HTTPPUT的数据类型
这算是一个积累的过程吧,网页制作的道路才刚刚开始。。。。。