当我运行含有网络请求的python程序时,提示如下:
其实提示已经很明显了,可是我还是经验不足,一时半会也没弄明白。
如提示,可以看到和Fiddle有关,但我并知道有什么样的关系。而当时的系统中正运行着Fiddler应用程序,后来才知道是Fiddler的代理设置会影响本地的网络请求,于是乎,关掉了Fiddler,再次发出请求,则请求成功。而此之前我虽然知道我的模拟登录请求没有问题,但也理解不了还有哪里存在问题,还一味的去修改模拟登录部分的程序。
但是HTTPError还存在其他的可能性,整理如下:
Fiddler的信息是:
HTTP/1.1 504 Fiddler - Receive Failure Content-Type: text/html Connection: close Timestamp: 08:30:45:8693 ReadResponse() failed: The server did not return a response for this request.
检测IIS的日志文件,根本没有访问的记录。在同一台服务器上的其他的网站都能正常访问。所以我初步判断应该的权限配置的问题。检查了一圈IIS和网站文件的权限都没有问题。
最后发现问题出现在Url的重写上。因为网站使用ISAPI筛选器配置的Url重写规则。重写规则文件的路径和网站的路径不在同一个文件夹。因为没有给网站重写文件的读取权限,导致的网站无法访问。给重写文件夹加相应的权限问题解决。
总结,一般网站不能访问的情况都是权限配置的问题,在检查权限设置的是否,于网站运行相关的程序和文件也不能遗漏。