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 的重定向,但我不知道。
发布它以防有人遇到同样的意外问题。
我使用标准 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 的重定向,但我不知道。
发布它以防有人遇到同样的意外问题。