MVC를 사용하여 HTTP에 따라 WebApi 메서드를 호출하려고합니다. 사용자 ID 및 앱 버전과 같은 정보를 매번 보내야합니다. 헤더에이 정보를 어떻게 추가 할 수 있습니까? 서버 쪽에서 WebApi 요청 헤더를 설정하는 방법
'beforeSend: function (req) {
req.setRequestHeader("Accept", "version=1.00,requestTime=" + new Date());
}'
하지만 서버 측에서
, 내가 설정할 수 없습니다 문자열 과에 RequestHeader이 내 서버 코드 :가) 지금처럼하지 클라이언트 측 코드에 의해, 아약스 호출로 수행 할HttpClient client = new HttpClient();
var request = new HttpRequestMessage()
{
RequestUri = new Uri("http://localhost/WebAPIDemo/FilterAttribute-MVC"),
Method = HttpMethod.Get,
};
request.Headers.Accept.Add(***);
//request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
List<OfficeSupply> os=new List<OfficeSupply>();
var task = client.SendAsync(request)
.ContinueWith((taskwithmsg) =>
{
var response = taskwithmsg.Result;
var jsonTask = response.Content.ReadAsAsync<List<OfficeSupply>>();
jsonTask.Wait();
var jsonObject = jsonTask.Result;
os = jsonObject.ToList();
});
task.Wait();
***
은 'MediaTypeWithQualityHeaderValue'유형 값이어야하지만 사용자 정의로 설정해야합니다 (예 : ajax 호출). 어떻게해야합니까?
또한, 나는 헤더 인증 매개 변수를 변경하려면,하지만이 코드 :
'client.DefaultRequestHeaders.Add("Authorization", "12345");'
작동하지 않았다
및request.Headers.Authorization.Parameter
은 읽기 전용이며 나에게 말했다.
보내기 전에 서버 측에서 어떻게 설정합니까?
당신이 좋아하는 일을하여 사용자 정의 인증 방식을 지정할 수 있습니다
안녕! 난 당신의 코드를 해봤지만 아무튼 크롬 요청 헤더에 표시하지 않음 (F12 네트워크 헤더), 모든 것이 변경되지 않았습니다. – Ray
httpClient 요청에서 Chrome이 요청을 볼 수있는 방법은 무엇입니까? 요청을 보려면 피들러를 사용하십시오. –
피 들러 요청 헤더는 다음을 포함합니다 : 4 개의 accept param과 user agent? – Ray