温馨提示:本文翻译自stackoverflow.com,查看原文请点击:swift - request.httpMethod == "POST" but backend receives GET instead ????

swift - request.httpMethod ==“ POST”,但后端接收GET而不是?

发布于 2020-03-31 23:06:04

我使用标准的URLSession发送POST请求

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

但它返回一个后端错误

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

我告诉了一个后端人员,他说请求失败,因为服务器以某种方式接收到我的请求

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\"}" 

编辑: 不想粗鲁,但是有人在尝试用标准短语回答之前尝试阅读这篇文章吗?我知道404的意思。我知道这条路是正确的。

查看更多

提问者
Eduard
被浏览
78
Eduard 2020-01-31 18:37

我删除了“ www”。从请求开始,错误更改为正确的错误— 400(而不是404)。看来我们已经从www.sitename.com重定向到sitename.com,但我对此一无所知。

如果有人遇到相同的意外问题,请将其发布。