2013-11-21 3 views
0

IIS8.0을 ​​실행하는 Azure 클라우드 앱이 있습니다.
Wordpress 사이트가 실행 중이며 특정 리소스에 대한 POST 요청을 만들고 싶습니다.
REST 콘솔을 사용할 때 200 코드로 성공합니다.
iOS 앱을 사용할 때 "메소드 POST가 허용되지 않습니다"라는 메시지와 함께 405 오류를 반환합니다.405 오류 IIS8.0 POST 메서드가 허용되지 않습니다.

요청 헤더를 확인했으며 정확히 같습니다.

는 검색 좀하고 난 여기 그 때문에 내 핸들러이며, IIS에서 핸들러와 함께 할 수있는 뭔가가있을 수 있습니다 발견 :

<handlers accessPolicy="Read, Script"> 
    <add name="PHP54_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.4\php-cgi.exe" resourceType="Either" /> 
    <add name="PHP53_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.3\php-cgi.exe" resourceType="Either" /> 
    <add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" /> 
    <add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" /> 
    <add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" /> 
    <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" /> 
</handlers> 

사람이 내 문제를 도와 줄 수는?

답변

0

Wireshark와 같은 네트워크 패킷 수신기를 사용하여 iOS가 보내는 원시 HTTP를 볼 수 있습니다.

1

문제의 원인을 찾아 냈습니다. 내 브라우저에서 요청을 보내는 것이 왜 유효하고 iOS 앱이 아닌지 궁금합니다.

브라우저와 앱 모두 정확히 동일한 헤더와 페이로드 및 URL을 전송하고있었습니다.

URL은 다음과 같습니다 : http://www.example.com/?json=subscribe/subscribe.

앱이이 URL을 사용할 수 없음을 나타냅니다. 나는 다음을 사용해야했다. http://www.example.com/index.php?json=subscribe/subscribe

iOS를 작동시키기 위해서는 index.php을 추가해야했다.

키워드에 Wordpress를 추가하고 있습니다.