我试着用http客户端发送请求。我需要将主体添加到请求中,并传递参数。我有一些基于http请求的代码,但它目前无法工作:
httpClient.BaseAddress = new Uri(url);
                httpClient.DefaultRequestHeaders.Accept.Clear();
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
                var value = JsonConvert.SerializeObject(obj);
                var content = new StringContent(value, Encoding.UTF8, "application/json");
                **var request = new HttpRequestMessage(new HttpMethod("PATCH"), url + value);**
                var response = await httpClient.SendAsync(request);
                string Path = response.RequestMessage.RequestUri.AbsolutePath.ToString();
                Success = response.IsSuccessStatusCode;我的问题在于代码的大胆部分。我需要能够在身体部分传递一些怎样的请求。
当前响应:{StatusCode: 404,ReasonPhrase:“未找到”,版本: 1.1,内容: System.Net.Http.StreamContent,标头:{传输-编码:分组日期: Tue,2022年3月29日18:22:37 GMT服务器:}
到目前为止,还没有找到可用的代码片段来修补body。我甚至试过写一篇文章。
我也试过这样做:
//httpClient.BaseAddress = new Uri(url);
                //httpClient.DefaultRequestHeaders.Accept.Clear();
                //httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                //var s = new JsonSerializerSettings { DateFormatHandling = DateFormatHandling.MicrosoftDateFormat };
                //var content = JsonConvert.SerializeObject(obj, s);
                //var request = new HttpRequestMessage(new HttpMethod("PATCH"), url);
                //request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);
                //var response = await httpClient.SendAsync(request);
                //var responseString = await response.Content.ReadAsStringAsync();
                //string Path = response.RequestMessage.RequestUri.AbsolutePath.ToString();然而,我注意到我在这里遇到了和以前一样的问题。它没有将主体添加到请求中。我很努力,但从来没有经过过身体。所以我需要在请求中传递身体。
发布于 2022-03-29 18:41:14
您所需要做的就是设置Content属性的HttpRequestMessage
var request = new HttpRequestMessage(HttpMethod.Patch, url) {
    Content = new StringContent(value, Encoding.UTF8, "application/json")
};https://stackoverflow.com/questions/71667089
复制相似问题