request.httpMethod == "POST" 但后端接收的是 GET

request.httpMethod == "POST" but backend receives GET instead

我使用标准 URLSession 发送 POST 请求

URLSession(configuration: .default).dataTask(with: urlRequest)

但它 returns 后端错误

{
    "http_code" = 404;
    message = "Not Found";
}

我告诉后端人员这件事,他说请求失败是因为服务器以某种方式接收我的 GET 请求

136.*.*.228 - - [02/Dec/2019:09:01:48 +0000] "GET /api/v1/subscribe HTTP/2.0" 404 49 "-" "App/16 CFNetwork/1120 Darwin/18.7.0" "-"

print(urlRequest.httpMethod) 就在 dataTask(with: urlRequest) 显示 "POST"

之前

来自终端的请求工作正常

curl -X POST "https://website.com/api/v1/subscribe" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"email\": \"email@mail.com\", \"message\": \"hey\", \"name\": \"John Doe\", \"tag\": \"preorder\"}" 

编辑: 不想无礼,但有人在用标准短语回答之前尝试 阅读 post 吗? 我知道404是什么意思。我知道路径是正确的。

我从请求中删除了 "www.",错误更改为正确的错误 - 400(而不是 404)。似乎我们有一个从 www.sitename.com 到 sitename.com 的重定向,但我不知道。

发布它以防有人遇到同样的意外问题。