簡體   English   中英

405錯誤IIS8.0 POST方法不允許

[英]405 error IIS8.0 POST method not allowed

我有一個運行IIS8.0的Azure雲應用程序。
我有一個Wordpress網站正在運行,並且我想對某個資源發出POST請求。
當我使用REST控制台時,它會成功顯示200個代碼。
當我使用iOS應用程序時,它返回405錯誤,並顯示消息“不允許方法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> 

有人可以幫我解決我的問題嗎?

我發現了導致問題的原因。 我想知道為什么從瀏覽器發送請求是有效的,而從iOS應用程序發送請求卻無效。

瀏覽器和應用程序都發送完全相同的標頭,有效負載和url。

網址是這樣的: http : //www.example.com/ ?json=subscribe/ subscribe

原來該應用無法使用此URL。 我必須使用: http : //www.example.com/index.php?json=subscribe/subscribe

必須添加index.php才能使iOS正常工作。

我將Wordpress添加到關鍵字中。

您可以嘗試使用Wireshark之​​類的網絡數據包偵聽器查看iOS發送的原始HTTP。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM