HttpClient PostAsync#始终返回404在使用web api时未找到
我在使用express的nodejs上有一个服务器代码,该服务在使用Postman进行测试时运行良好 服务器代码:HttpClient PostAsync#始终返回404在使用web api时未找到,c#,node.js,rest,express,httpclient,C#,Node.js,Rest,Express,Httpclient,我在使用express的nodejs上有一个服务器代码,该服务在使用Postman进行测试时运行良好 服务器代码: app.post("/v2/addComment", (request, response) => { let n = parseInt(request.query.number); let key = request.get("key"); let token = request.get("token"); getToken(token).then(
app.post("/v2/addComment", (request, response) => {
let n = parseInt(request.query.number);
let key = request.get("key");
let token = request.get("token");
getToken(token).then(result => {
let kind = result[0].kind;
if(kind === key){
addComment(n, request.body);
var success = { event : 'done' };
return response.json(success);
}
else{
var success1 = { event : 'not done' };
return response.json(success1)
}
}).catch(error => console.log(error));
});
我正在尝试使用HttpClient从Windows窗体应用程序使用此服务
private async Task<string> PostAsyncToken(string token, string key, int num,
List<Comment> comments){
HttpClient httpClient = new HttpClient();
httpClient.BaseAddress = new Uri("http://myhost.com/");
string uri = string.Format("v2/addComment?number={0}", num);
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new
MediaTypeWithQualityHeaderValue("application/json"));
httpClient.DefaultRequestHeaders.Add("token", token);
httpClient.DefaultRequestHeaders.Add("key", key);
var json = JsonConvert.SerializeObject(comments);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await httpClient.PostAsync(uri,content);
string contentResponse = await response.Content.ReadAsStringAsync();
return await Task.Run(() => contentResponse);
}
private async Task PostAsyncToken(字符串标记、字符串键、int num、,
(列出评论){
HttpClient HttpClient=新HttpClient();
httpClient.BaseAddress=新Uri(“http://myhost.com/");
stringuri=string.Format(“v2/addComment?number={0}”,num);
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(新
MediaTypeWithQualityHeaderValue(“应用程序/json”);
httpClient.DefaultRequestHeaders.Add(“token”,token);
httpClient.DefaultRequestHeaders.Add(“key”,key);
var json=JsonConvert.SerializeObject(注释);
var content=newstringcontent(json,Encoding.UTF8,“application/json”);
var response=wait-httpClient.PostAsync(uri,内容);
string contentResponse=await response.Content.ReadAsStringAsync();
返回等待任务。运行(()=>contentResponse);
}
测试响应总是返回404 Not Found,我猜这是因为请求自动添加“https”,而在邮递员上工作时它应该是“http”“这是因为请求自动添加“https”-为什么会发生这种情况?我会使用诸如Fiddler之类的检查工具查看邮递员请求与您的请求之间的对比。我不知道,但在调试时,我注意到response的ResponseUri显示
https://myhost.com/v2/addComment?number=1