Jump to content
  • 0
Đăng nhập để theo dõi  
Đỗ Kim Khánh

Không thêm được Headers khi sử dụng HttpClient

Câu hỏi

Chào mọi người,

Gần đây em đang sử dụng HttpClient thay thế cho xNet để request, nhưng lại gặp vấn đề khi add Header vào request.

Cụ thể là nó không nhận cái value đó, em đã thử sử dụng cả 2 cách dưới đây rồi nhưng nó vẫn không nhận ạ. Không biết có cách nào khác để thêm Headers vào request không ạ...

 

using (var http = new HttpClient())
{
	http.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken);
	http.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Authorization", "Bearer " + accessToken);
  	string ok = http.GetAsync("<url>").Result.Content.ReadAsStringAsync().Result;
  	//Tra ve: "Ban khong co quyen truy cap" vì khong co token o Headers
}

E cũng đã thử dùng cách này theo mấy ông tây chỉ

using (var http = new HttpClient())
{
  using (var requestMessage = new HttpRequestMessage(HttpMethod.Get, "<url>"))
  {
      requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
      var data1 = http.SendAsync(requestMessage);
      string ok = data1.Result.Content.ReadAsStringAsync().Result.ToString(); //Tra ve: "Ban khong co quyen truy cap" vì khong co token o Headers

  }
}

Nhưng cả 2 cách đều trả về không có quyền truy cập, nếu có token ở Headers thì mới truy cập được, không biết có cách nào có thể add được không nữa ạ. E cảm ơn mọi người ạ

Edited by Đỗ Kim Khánh
fix code

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites

Recommended Posts

  • 0
On 27/10/2022 at 10:16, Đỗ Kim Khánh said:

Chào mọi người,

Gần đây em đang sử dụng HttpClient thay thế cho xNet để request, nhưng lại gặp vấn đề khi add Header vào request.

Cụ thể là nó không nhận cái value đó, em đã thử sử dụng cả 2 cách dưới đây rồi nhưng nó vẫn không nhận ạ. Không biết có cách nào khác để thêm Headers vào request không ạ...

 


using (var http = new HttpClient())
{
	http.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken);
	http.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Authorization", "Bearer " + accessToken);
  	string ok = http.GetAsync("<url>").Result.Content.ReadAsStringAsync().Result;
  	//Tra ve: "Ban khong co quyen truy cap" vì khong co token o Headers
}

E cũng đã thử dùng cách này theo mấy ông tây chỉ


using (var http = new HttpClient())
{
  using (var requestMessage = new HttpRequestMessage(HttpMethod.Get, "<url>"))
  {
      requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
      var data1 = http.SendAsync(requestMessage);
      string ok = data1.Result.Content.ReadAsStringAsync().Result.ToString(); //Tra ve: "Ban khong co quyen truy cap" vì khong co token o Headers

  }
}

Nhưng cả 2 cách đều trả về không có quyền truy cập, nếu có token ở Headers thì mới truy cập được, không biết có cách nào có thể add được không nữa ạ. E cảm ơn mọi người ạ

Bạn dùng cách này được rồi mà 

http.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken);

nếu nhầm lẫn gì thì gửi mỵ cái accesstoken với hướng dẫn mỵ check xem...

Chia sẻ bài đăng này


Link tới bài viết
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Trả lời câu hỏi này...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Đăng nhập để theo dõi  

×
×
  • Create New...