Request.ServerVariables("REQUEST_METHOD")取不到值

heavensonic 2007-12-16 01:37:40
猜想是和Web服务器上的设置有关,只好上来问问了。
...全文
178 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangkun9999 2007-12-17
  • 打赏
  • 举报
回复
列出所有Request.ServerVariables

int loop1, loop2;
System.Collections.Specialized.NameValueCollection coll;

// Load ServerVariable collection into NameValueCollection object.
coll=Request.ServerVariables;
// Get names of all keys into a string array.
String[] arr1 = coll.AllKeys;
for (loop1 = 0; loop1 < arr1.Length; loop1++)
{
Response.Write("Key: " + arr1[loop1] + "<br>");
String[] arr2=coll.GetValues(arr1[loop1]);
for (loop2 = 0; loop2 < arr2.Length; loop2++) {
Response.Write("Value " + loop2 + ": " + arr2[loop2] + "<br>");
}
}

伴老思源 2007-12-17
  • 打赏
  • 举报
回复
说明你的机器没有使用代理服务器
bo3235 2007-12-17
  • 打赏
  • 举报
回复
<form method="值"> 设置了才会取到值。
shinlgienls 2007-12-16
  • 打赏
  • 举报
回复
//没有代理服务器,如果有代理服务器获取的是代理服务器的IP
userIP = Request.ServerVariables["REMOTE_ADDR"];




大正他爹 2007-12-16
  • 打赏
  • 举报
回复
<form method="值">设置了才会取到值。
asp论坛系统源代码, 有模板和实例 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% Dim MM_editAction MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME")) If (Request.QueryString <> "") Then MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString) End If ' boolean to abort record edit Dim MM_abortEdit MM_abortEdit = false %> <% ' IIf implementation Function MM_IIf(condition, ifTrue, ifFalse) If condition = "" Then MM_IIf = ifFalse Else MM_IIf = ifTrue End If End Function %> <% If (CStr(Request("MM_insert")) = "form1") Then If (Not MM_abortEdit) Then ' execute the insert Dim MM_editCmd Set MM_editCmd = Server.CreateObject ("ADODB.Command") MM_editCmd.ActiveConnection = MM_conndb2_STRING MM_editCmd.CommandText = "INSERT INTO board (boardname, banzhu, content) VALUES (?, ?, ?)" MM_editCmd.Prepared = true MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 202, 1, 50, Request.Form("boardname")) ' adVarWChar MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 202, 1, 50, Request.Form("banzhu")) ' adVarWChar MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 202, 1, 200, Request.Form("content")) ' adVarWChar MM_editCmd.Execute MM_editCmd.ActiveConnection.Close ' append the query string to the redirect URL Dim MM_editRedirectUrl MM_editRedirectUrl = "oneedit.asp" If (Request.QueryString <> "") Then If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString Else MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString End If End If Response.Redirect(MM_editRedirectUrl) End If End If %> 版块管理
<% If session("AdminUID")="" or session("Admindj")<>"0" Then %> <% Response.Write "
" & "本页面必须管理员登录后,才能进行管理操作。" %> <% Else %>

选择要进行的版块管理任务
返回 版块管理
 
method="POST" name="form1" id="form1">
版块名称
版主
版块说明
 

 

 

 

 

<% End If %>

很多iis用户还记得在早期的iis版本上有一个web应用, iisadmpwd. 该应用是与iis5 和iis6一起发布的. 主要用于为域用户提供修改密码的功能, 同时也可以修改本机用户的密码. 但是这个功能包含在iis7/7.5中. 在iis 7及以上版本中, 微软不再提供这个web应用的支持. 虽然该功能没有与iis7/7.5一起发布, 但通过一些简单的配置还是可以使用该功能,本文将介绍如何在iis7/7.5中配置iisadmpwd的web 应用. 注意 : 本文只是介绍如何在iis7/7.5中配置iisadmpwd的web 应用. 由于该功能已经在iis7及以上版本中的被遗弃, 微软不会对iis7及以上版本中的iisadmpwd提供支持. 步骤 由于iisadmpwd的web 应用不再被iis7及以上版本所支持. 在一个干净的windows server 2008 中是没法找到这个文件. 所以需要从一台windows server 2003中找到并且将文件复制到windows server 2008上. 1. 默认情况下, iisadmpwd放置在windows server 2003服务器的如下路径 : c:\windows\system32\inetsrv\iisadmpwd . 如果没有找到该路径, 你需要先在windows server 2003上安装iis服务. 注意 : 如果您在iis7/7.5中的网站应用是64位, 您需要copy一个64位版本的iisadmpwd. 如果是32位, 同样需要copy一个32位的iisadmpwd. 在x64的windows server 2003中, 32位的iisadmpwd位于%windir%\syswow64\inetsrv\iisadmpwd . 2. 将iisadmpwd的文件copy到windows server 2008服务器后,需要注册iispwcchg.dll. 1) 用admin的权限打开一个命令窗口. 2) 执行以下命令 : regsvr32 c:\windows\system32\inetsrv\iisadmpwd\iispwchg.dll 其中c:\windows\system32\inetsrv\iisadmpwd\ 是iisadmpwd的放置路径. 3. 其次, 需要设置metabase中的password changeflags. 以运行修改密码的功能 : 1) 用admin的权限打开一个命令窗口. 2) 打开到如下路径 : c:\inetpub\adminscripts 如果你没能找到这个路径, 请先启用iis的iis 6 scripting tools feature. 请参考 : http://msdn.microsoft.com/library/ms751518.aspx 3) 输入以下命令 : cscript.exe adsutil.vbs set w3svc/password changeflags value 4) 下面是对value的定义 : 0 : 默认. 该代表你必须启用ssl来修改密码. 1: 允许非安全的port来修改密码. 如果你没有启用ssl, 同时又需要 此文来自: 马开东博客 转载请注明出处 网址: http://www.makaidong.com 修改密码的功能, 可以使用该. 2 : 关闭修改密码的功能. 4 : 关闭 “advance notification of password expiration”. 4.打开iis管理器. 展开需要加入该功能的网站. 右键点击该网站, 在弹出菜单中 选中add virtual directory. 5. 在配置好virtual directory之后, iisadmpwd就可以使用了. 6. 关于iisadmpwd中几个页面的功能, 可以参考http://blogs.msdn.com/b/friis/archive/2009/03/24/setting-up-the-iis-6-password -change-site-iisadmpwd.aspx test.asp 包括了iisadmpwd页面上所显示的文字和label. 如果需要修改asp页面上所显示的内容, 可以修改该页面的定义. achg.asp 用于执行修改密码请求的页面. aexp.asp 该页面会默认情况下会为iis显示那些密码已经过期的用户. 通过配置iis metabase中的”authexpiredurl”, 可以使用该页面. aexp2.asp 用于修改iis本机用户的密码. aexp2b.asp 用于修改域用户的密码. 默认情况下, 该页面会使用ssl对会话进行加密. 如果你没有启用ssl功能, 请求会失败. aexp3.asp 类似于aexp.asp. 不需要使用ssl 如果想使用aexp2.asp页面来修改域用户的密码, 但是又不想启用ssl. 你可以按照下面的方法来进行修改. 但是我们不推荐该方法. 因为, 如果没有ssl的加密保护, 密码是明文的在网络间传递, 很容易被截获. 1. 用notepad打开aexp2.asp. 2. 找到 <form method="post" action="https://<%=server.htmlencode(request.servervariables("server_name"))%>/iisadmpwd/achg.asp?<%=server.htmlencode(request.querystring)%>"> 3. 将https://修改为http:// , 如下 : <form method="post" action="http://<%=server.htmlencode(request.servervariables("server_name"))%>/iisadmpwd/achg.asp?<%=server.htmlencode(request.querystring)%>"> 同样的, 如果启用了ssl,但是使用了非默认的443端口, 也在条语句中加入对应的端口号. 例如使用的是445端口 : <form method="post" action="https://<%=server.htmlencode(request.servervariables("server_name"))%>:445/iisadmpwd/achg.asp?<%=server.htmlencode(request.querystring)%>">
很多iis用户还记得在早期的iis版本上有一个web应用, iisadmpwd. 该应用是与iis5 和iis6一起发布的. 主要用于为域用户提供修改密码的功能, 同时也可以修改本机用户的密码. 但是这个功能包含在iis7/7.5中. 在iis 7及以上版本中, 微软不再提供这个web应用的支持. 虽然该功能没有与iis7/7.5一起发布, 但通过一些简单的配置还是可以使用该功能,本文将介绍如何在iis7/7.5中配置iisadmpwd的web 应用. 注意 : 本文只是介绍如何在iis7/7.5中配置iisadmpwd的web 应用. 由于该功能已经在iis7及以上版本中的被遗弃, 微软不会对iis7及以上版本中的iisadmpwd提供支持. 步骤 由于iisadmpwd的web 应用不再被iis7及以上版本所支持. 在一个干净的windows server 2008 中是没法找到这个文件. 所以需要从一台windows server 2003中找到并且将文件复制到windows server 2008上. 1. 默认情况下, iisadmpwd放置在windows server 2003服务器的如下路径 : c:\windows\system32\inetsrv\iisadmpwd . 如果没有找到该路径, 你需要先在windows server 2003上安装iis服务. 注意 : 如果您在iis7/7.5中的网站应用是64位, 您需要copy一个64位版本的iisadmpwd. 如果是32位, 同样需要copy一个32位的iisadmpwd. 在x64的windows server 2003中, 32位的iisadmpwd位于%windir%\syswow64\inetsrv\iisadmpwd . 2. 将iisadmpwd的文件copy到windows server 2008服务器后,需要注册iispwcchg.dll. 1) 用admin的权限打开一个命令窗口. 2) 执行以下命令 : regsvr32 c:\windows\system32\inetsrv\iisadmpwd\iispwchg.dll 其中c:\windows\system32\inetsrv\iisadmpwd\ 是iisadmpwd的放置路径. 3. 其次, 需要设置metabase中的password changeflags. 以运行修改密码的功能 : 1) 用admin的权限打开一个命令窗口. 2) 打开到如下路径 : c:\inetpub\adminscripts 如果你没能找到这个路径, 请先启用iis的iis 6 scripting tools feature. 请参考 : http://msdn.microsoft.com/library/ms751518.aspx 3) 输入以下命令 : cscript.exe adsutil.vbs set w3svc/password changeflags value 4) 下面是对value的定义 : 0 : 默认. 该代表你必须启用ssl来修改密码. 1: 允许非安全的port来修改密码. 如果你没有启用ssl, 同时又需要 此文来自: 马开东博客 转载请注明出处 网址: http://www.makaidong.com 修改密码的功能, 可以使用该. 2 : 关闭修改密码的功能. 4 : 关闭 “advance notification of password expiration”. 4.打开iis管理器. 展开需要加入该功能的网站. 右键点击该网站, 在弹出菜单中 选中add virtual directory. 5. 在配置好virtual directory之后, iisadmpwd就可以使用了. 6. 关于iisadmpwd中几个页面的功能, 可以参考http://blogs.msdn.com/b/friis/archive/2009/03/24/setting-up-the-iis-6-password -change-site-iisadmpwd.aspx test.asp 包括了iisadmpwd页面上所显示的文字和label. 如果需要修改asp页面上所显示的内容, 可以修改该页面的定义. achg.asp 用于执行修改密码请求的页面. aexp.asp 该页面会默认情况下会为iis显示那些密码已经过期的用户. 通过配置iis metabase中的”authexpiredurl”, 可以使用该页面. aexp2.asp 用于修改iis本机用户的密码. aexp2b.asp 用于修改域用户的密码. 默认情况下, 该页面会使用ssl对会话进行加密. 如果你没有启用ssl功能, 请求会失败. aexp3.asp 类似于aexp.asp. 不需要使用ssl 如果想使用aexp2.asp页面来修改域用户的密码, 但是又不想启用ssl. 你可以按照下面的方法来进行修改. 但是我们不推荐该方法. 因为, 如果没有ssl的加密保护, 密码是明文的在网络间传递, 很容易被截获. 1. 用notepad打开aexp2.asp. 2. 找到 <form method="post" action="https://<%=server.htmlencode(request.servervariables("server_name"))%>/iisadmpwd/achg.asp?<%=server.htmlencode(request.querystring)%>"> 3. 将https://修改为http:// , 如下 : <form method="post" action="http://<%=server.htmlencode(request.servervariables("server_name"))%>/iisadmpwd/achg.asp?<%=server.htmlencode(request.querystring)%>"> 同样的, 如果启用了ssl,但是使用了非默认的443端口, 也在条语句中加入对应的端口号. 例如使用的是445端口 : <form method="post" action="https://<%=server.htmlencode(request.servervariables("server_name"))%>:445/iisadmpwd/achg.asp?<%=server.htmlencode(request.querystring)%>">

62,041

社区成员

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

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

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

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