请问asp如何获取iis里自定义的http头的值?

seai 2008-07-17 10:17:55
知道其他语言也可以,我参考下
谢了
...全文
890 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
seai 2008-07-18
  • 打赏
  • 举报
回复
我想到达这样的效果:

我在iis里设置一个自定义头,
页面被访问时,asp,先获取iis里设置的那个报头的值,并做一些取理。

显然就不能在页面中再次对本页面提起XMLHTTP请求了,会像上面说的那样死循环。
wtogether 2008-07-18
  • 打赏
  • 举报
回复
同页面执行XMLHTTP请求,不是两次循环,是死循环

不知道你的HTTP报头是怎么设置的,是在IIS管理器里设置的还是页面里设置的,如果是页面里设置的,那在设置报头的时候就可以分类处理了,如果是IIS里设置的,那就单独设置个页面专门输出HTTP报头
seai 2008-07-18
  • 打赏
  • 举报
回复
asp中使用MSXML2.ServerXMLHTTP来获取的话,存在个很不合理的地方:

我本来访问test.asp这个页面,想在页面中根据自定义的HTTP头执行某个操作。
访问test.asp时服务器就发来响应了,但为了查看自定义的HTTP头,我还得用MSXML2.ServerXMLHTTP在提交一次test.asp的请求,这样,在一次访问中就向iis发起了两次请求!!
seai 2008-07-18
  • 打赏
  • 举报
回复
比如,asp里根据自定义的HTTP头,控制程序的执行?
wtogether 2008-07-18
  • 打赏
  • 举报
回复
ASP中的MSXML2.ServerXMLHTTP的getAllResponseHeaders方法可以获取服务器端的所有HTTP报头,而getResponseHeader方法是获取单个HTTP报头信息
js里面也可以用XMLHttpRequest对象获取自己服务器的HTTP报头,方法跟服务器端的一样
<script language="javascript">
if (!window.XMLHttpRequest)
{
window.XMLHttpRequest = function()
{
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
var http = new XMLHttpRequest();
http.open("GET", "/", true);
http.onreadystatechange = function()
{
if (http.readyState == 4)
{
alert(http.getAllResponseHeaders());
alert(http.getResponseHeader("X-Powered-By"));
}
};
http.send(null);
</script>
seai 2008-07-18
  • 打赏
  • 举报
回复
楼上大佬,问的就是“给客户端看,在客户端哪里看?”
说是,iis里自定义了HTTP报头,服务器就会给每个访问的页面头部加上相应数据,当我在<head>里看不到啊,我程序,asp,或者js里如何读取应用?
wtogether 2008-07-18
  • 打赏
  • 举报
回复
IIS自定义的HTTP报头和ASP中的Response.AddHeader方法是一样的目的,即都是给客户端看的,不是给服务器看的,想看自己的服务器的HTTP报头用XMLHTTP

Dim xmlHttp
Set xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
xmlHttp.Open "GET", "http://www.microsoft.com", False
xmlHttp.Send Null
Response.Write Replace(xmlHttp.getAllResponseHeaders(), vbCrLf, "<br/>") & "<br/>"
Response.Write xmlHttp.getResponseHeader("X-Powered-By") & "<br/>"
Set xmlHttp = Nothing
seai 2008-07-17
  • 打赏
  • 举报
回复
HTTP_ACCEPT:*/*
HTTP_ACCEPT_LANGUAGE:zh-cn
HTTP_CONNECTION:Keep-Alive
HTTP_HOST:localhost
HTTP_USER_AGENT:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; InfoPath.2)
HTTP_COOKIE:ASPSESSIONIDCACTASRS=PGBFEBFDENNOBGBCJCEMKJIF; ASPSESSIONIDAABRCSRS=LILHLHFDFMPBIEPJJJGBIJDO
HTTP_UA_CPU:x86
HTTP_ACCEPT_ENCODING:gzip, deflate

取到的数据如上面,但根本不包括自定义的http头
seai 2008-07-17
  • 打赏
  • 举报
回复
试过了,没用啊,大哥
rankisky 2008-07-17
  • 打赏
  • 举报
回复
request.servervariables("ALL_HTTP")
seai 2008-07-17
  • 打赏
  • 举报
回复
还真无人知道?
seai 2008-07-17
  • 打赏
  • 举报
回复
坚决顶上去
seai 2008-07-17
  • 打赏
  • 举报
回复
...........
seai 2008-07-17
  • 打赏
  • 举报
回复
是啊,服务器设置自定义头倒是简单,但如果脚步使用不来,就没什么作用了啊。。。
smartcatiboy 2008-07-17
  • 打赏
  • 举报
回复
以前看过,貌似非http的要自己用socket做

不是很清楚了,也许不是这样。

mark

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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