我知道這個問題可能看起來像重複,但我已經嘗試了所有解決方案之前,我再次問這個問題。Xamarin表單不發送授權標題
我正在嘗試使用Xamarin Forms中的C#HttpClient使用Django Rest框架編寫自己的REST API。該請求正在發送,但它不包括所需的授權與令牌作爲方案。
這裏是我試過的東西:
public async Task<IssueListModelView> FetchIssues(string token, string type)
{
client.BaseAddress = new Uri(XTMonitorContants.SERVICE_BASE_URL);
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, new Uri(XTMonitorContants.SERVICE_ISSUES_URL + type.ToLower()));
request.Headers.Add("Authorization", "Token " + token);
//client.
//client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Token", token);
client.DefaultRequestHeaders.Add("Authorization", "Token " + token);
var response = client.SendAsync(request);
var jsonString = response.ContinueWith(t => { return t.Result; }).Result.Content.ReadAsStringAsync().Result;
IssueListModelView resp = new IssueListModelView();
if (jsonString != "")
{
try
{
resp = JsonConvert.DeserializeObject<IssueListModelView>(jsonString);
}
catch (Exception)
{
resp.error = "Internal Server Error";
}
}
return resp;
}
我也曾嘗試發送請求的情況下直接使用HttpRequestMessage,也給了我的
在同一臺服務器響應「未提供身份驗證憑據。」 example.com
授權:令牌ffba1c43ac346945b788768e2a428d5e5d3c1fc9
緩存
由郵差
GET/API /問題/所有的HTTP/1.1
主機做出請求-Ctrol:no-cache
郵差令牌:0c1eb96d-d9d6-a9e7-0cfa-0444fdc0248e
通過HttpClient的
{Method: GET, RequestUri: 'https://example.com/api/issues/all', Version: 1.1, Content: <null>, Headers: { Authorization: Token ffba1c43ac346945b788768e2a428d5e5d3c1fc9 }}
做出的請求,請注意,我用郵遞員,還設置正確測試的API Swagger,它在兩個上都可以正常工作。
會很高興,如果有人能在這裏給我一隻手,我覺得有可能是什麼我失蹤了
您迴應嘗試使用普通的HttpWebRequest,HttpClient的有很多錯誤。 – Gusman
@Gusman謝謝,我會檢查它,因爲我以前沒有使用它。 – phourxx