我正在构建一个从 IIS7 服务器检索文件的 iPhone 应用程序。我正在使用一个普通的旧 NSURLRequest 来检索这个文件。如果我使用另一个 Web 服务器,该请求可以正常工作,但由于某种原因,这个服务器一直给我一个 400 错误请求。所以我看了一下 NSURLRequest 发送的请求,它看起来像这样:
::1 [Wed Sep 01 20:18:53 -0400 2010]: GET /some.file
::1 [Wed Sep 01 20:18:53 -0400 2010]: HTTP/1.1
::1 [Wed Sep 01 20:18:53 -0400 2010]: Host: localhost
::1 [Wed Sep 01 20:18:53 -0400 2010]: User-Agent: MyApp/1.0 CFNetwork/485.2 Darwin/10.4.0
::1 [Wed Sep 01 20:18:53 -0400 2010]: Accept: */*
::1 [Wed Sep 01 20:18:53 -0400 2010]: Accept-Language: en-us
::1 [Wed Sep 01 20:18:53 -0400 2010]: Accept-Encoding: gzip, deflate
::1 [Wed Sep 01 20:18:53 -0400 2010]: Connection: keep-alive
::1 [Wed Sep 01 20:18:53 -0400 2010]:
我使用 telnet 并直接连接到网络服务器。发送以下内容:
GET /some.file HTTP/1.1\r\n
这工作正常,服务器响应文件。
我有一种感觉,NSURLRequest 将 HTTP/1.1 放在另一行会导致 IIS7 返回错误请求。
有谁知道我该如何解决这种情况?我不介意在服务器或客户端上进行更改,但不幸的是我被 IIS 困住了。
谢谢