zoukankan      html  css  js  c++  java
  • win2008 IIS7 ASP 的 405 错误

        两天前突然接到测试的报告,说网络查询没有数据,很纳闷,这个系统跑了很多年,还没有出现过这个问题。

        数据是服务器A去另一个服务器B上取来的,用的是:   

    Set oXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    

      

        responsebody取回来数据后经过转化:

     1 Function BytesToBstr(body,Cset)
     2     dim objstream
     3     set objstream = Server.CreateObject("adodb.stream")
     4     objstream.Type = 1
     5     objstream.Mode =3
     6     objstream.Open
     7     objstream.Write body
     8     objstream.Position = 0
     9     objstream.Type = 2
    10     objstream.Charset = Cset
    11     BytesToBstr = objstream.ReadText   
    12     objstream.Close
    13     set objstream = nothing
    14 End Function

         服务器B不止有一台,运行的系统 有win2003和win2008,调试输出BytesToBstr =

    objstream.ReadText这一行,发现win2003系统下跑的系统正常返回数据,win2008下的就会出现405错误。
      
       
         405错误是谓词错误,服务器不认识或者拒绝执行谓词(Get、Post之类)。当时想的是可能是win2008的权限问题。
     
        可以几乎把所有可以开的权限都打开了还是没能解决问题,而这已经花去了一天多的时间,是在让人郁闷。
     
       
         搜索引擎,发帖询问都无果,后来询问了一个朋友,他提示了下大小写问题,由于asp对大小写不敏感,所以之前没有想到这个问题。
     
       
    XMLHTTP.open "GET","http://catcoder.com/",true
    

      

        上一条语句中原来是“Get”,改成“GET”后,问题居然就这样解决了,当时的感觉,真有砸电脑的冲动。
     
        但问题总算解决,但本质问题还是不太理解,猜想可能是IIS7中对“谓词”审查比较严,但我也配置过兼容IIS6,所以真正的问题根源并不清楚。
     
        大小写,OH MY GOD!!
     
      原文:http://catcoder.com/index.php/2013/01/09/win2008-iis7-asp-405/
  • 相关阅读:
    Less学习笔记
    如何在网页启动Windows服务
    让VS2010记住TFS的登陆用户名和密码
    调式WP程序报0x80131500错误的解决办法
    FizzBuzzWhizz是算法题吗?我从设计的角度去解决的。
    基于Roslyn的远程任务平台
    优雅就一个字——设计模式之数据上传接口
    关于反射优化的疑问,单次调用时直接反射要快于委托调用反射?
    用VC++11中编译libthrift项目
    grunt初体验
  • 原文地址:https://www.cnblogs.com/mnight/p/2852895.html
Copyright © 2011-2022 走看看