2014-10-06 69 views
1

當試圖使用記錄不完善的REST Web服務時,是否可以發現或「反向工程」它來查找特定方法的參數?我使用了Fiddler,顯然可以捕獲我發送的參數,但是我正在尋找確定此方法可以採用哪些參數。如果它提供了我的對象類型,則爲獎勵。發現REST Web服務的參數

希望這篇文章不會被標記爲「黑客」。我發誓我不是!

+1

服務是否提供自動文檔工具或技術,如Swagger或HATOEAS? – superbob 2014-10-06 15:30:51

+0

它看起來像他們使用Swagger ..但它似乎仍然不完整。 – xhermit 2014-10-06 15:34:34

+0

如果配置正確,Swagger應該爲您提供所有需要的信息。除此之外,如果您有權訪問運行該服務的程序「二進制文件」(例如WAR),則還可以嘗試使用反編譯器。 – superbob 2014-10-06 15:44:20

回答

2

沒有一種標準與SOAP的標準相同,例如, WSDL。每個API都會有所不同,因此發現是一個檢查可能性檢查列表的過程,然後對未實現的檢查列表感到失望。

SwaggerHALWADL。沒有人需要發佈元數據,所以他們通常不會。有時,元數據被嵌入到表示中。所以當你提出請求時,說一本書,你會得到你期望的書的屬性,也可能是一些臨時性的描述端點和URL的描述,描述你可以用這種表示方式做什麼。

發現終點: 目錄瀏覽。這可能不起作用,除非啓用目錄瀏覽並且Web服務技術是基於文件的,例如NET asmx。

選項 HTTP動詞應該返回此端點將接受的動詞。它通常被禁用或沒有實施。還需要提前知道端點。

HEAD這對於邊緣情況很有用,例如發現您將返回哪些頭部以及可能包含哪些功能。例如,如果在HEAD請求之後看到Accept-Ranges,則可以按塊進行請求。