当尝试使用记录不良的REST Web服务时,是否可以发现或“反向工程”它以查找特定方法的参数?我已经使用了Fiddler,显然可以捕获我发送的参数,但是我想确定这个方法可以采用的参数。如果它给出了我的对象类型,那就是奖金。
希望这篇文章不会被标记为“黑客攻击”。我发誓我不是!
答案 0 :(得分:2)
没有标准与SOAP标准相同,例如WSDL。每个API都会有所不同,因此发现是一个查找可能性清单的过程,然后对它没有实现感到失望。
元数据:Swagger,HAL和WADL。没有人必须发布元数据,因此通常他们不会。有时,元数据嵌入在表示中。因此,当您提出要求时,比如一本书,您将获得您期望的书籍的属性,并且可能会有一些关于端点和URL的临时描述,这些描述描述了您可以使用此表示做什么。
发现终结点 目录浏览。这可能不会起作用,除非启用目录浏览并且Web服务技术是基于文件的,例如NET asmx。
OPTIONS HTTP谓词应该返回此端点将接受的动词。它经常被禁用或未被实现。还需要提前知道端点。
HEAD 这对边缘情况很有用,例如发现你会得到什么标头以及可能包含的功能。例如,如果您在HEAD请求后看到Accept-Ranges,则可以按块进行请求。