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を使用して、Webサーバーに直接接続しました。以下を送信しました:
GET /some.file HTTP/1.1\r\n
これは正常に機能し、サーバーはファイルで応答しました。
NSURLRequestがHTTP/1.1を別の行に配置すると、IIS7が不正な要求を返すように感じます。
誰かが私がこの状況を改善する方法を知っていますか?サーバーやクライアントで変更を加えてもかまいませんが、残念ながらIISで立ち往生しています。
ありがとう