如何让 ReqBin 将主体发布到逻辑应用程序?
我很困惑如何让 ReqBin 真正发送正文!它认为是的,但逻辑应用程序却不这么认为。我使用 Curl 检查了逻辑应用程序是否按预期工作,即它正在接受带有请求正文的 POST 请求。测试请求的正文为 15 个字符,逻辑应用程序显示预期的详细信息;正文和各种标头;内容类型和内容长度。
当我尝试使用 ReqBin 时,它认为已发送了 15 个字符的测试正文,见下文。但逻辑应用程序认为内容长度为 0。
我在 ReqBin 中尝试类似的做法,因为将每个测试请求主体剪切并粘贴到 Web UI 中要容易得多,而不是手动编码每个 JSON 请求以在 Curl 命令中使用。
当 Curl 可以工作而 ReqBin 不工作时,我如何确定内容丢失的位置?
需求箱 ...
POST /workflows/c604f34c750c49cba716f2998b1ce1d3/triggers/request/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Frequest%2Frun&sv=1.0&sig=xxxxxxxxxx HTTP/1.1
Host: prod-57.northeurope.logic.azure.com
Content-Type: application/json
Content-Length: 15
{"key":"value"}
以及来自逻辑应用程序的响应......
body:
headers: {"Transfer-Encoding":"chunked","Accept":"*/*","Accept-Encoding":"deflate,gzip","Host":"prod-57.northeurope.logic.azure.com","User-Agent":"Mozilla/5.0,(Windows NT 10.0; Win64; x64),AppleWebKit/537.36,(KHTML, like Gecko),Chrome/64.0.3282.140,Safari/537.36,Edge/18.17763","Content-Type":"application/json","Content-Length":"0"}
我不相信这是逻辑应用程序的问题,因为我可以在 Postman 和 Curl 中愉快地执行带有正文的 POST。只是 ReqBin 似乎不想发送正文。
卷曲...
curl -d "{\"key\":\"value\"}" -X POST "https://prod-57.northeurope.logic.azure.com:443/workflows/c604f34c750c49cba716f2998b1ce1d3/triggers/request/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Frequest%2Frun&sv=1.0&sig=xxxxxxxxxx" -H "Content-Type: application/json" -H "Accept: application/json"
和回应......
body: {"key":"value"}
headers: {"Accept":"application/json","Host":"prod-57.northeurope.logic.azure.com","User-Agent":"curl/7.55.1","Content-Length":"15","Content-Type":"application/json"}
答案1
在您的 curl 示例中,您已添加“Accept: application/json”HTTP 标头,但在 ReqBin 请求中遗漏了此标头。当客户端未提供此标头时,某些服务器会拒绝将 JSON 发送回客户端。请在“标头”选项卡上添加此标头,然后重试。
在 ReqBin Curl 客户端中发出 curl 请求时,您是否获得相同的结果? https://reqbin.com/curl