【问题标题】:Xamarin Forms Post Request BodyXamarin 表单发布请求正文
【发布时间】:2020-05-28 23:59:22
【问题描述】:
public async static Task<RootUserData> getUSerLoggedIn(string userName, string password)
    {
        RootUserData rootUserData = new RootUserData();
        var url = URlConstants.LOGIN_URL;
        using (HttpClient httpClient = new HttpClient())
        {
            httpClient.DefaultRequestHeaders.Authorization =  new AuthenticationHeaderValue("Bearer", Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes($"{userName}:{password}");
            httpClient.DefaultRequestHeaders.Add("content-type", "application/json");
            httpClient.DefaultRequestHeaders.Add("cache-control", "no-cache");




        } ;
    }

我正在使用上面的代码进行一次服务调用。我必须在正文中传递 userEmailAddress ,如邮递员图片所示。你能帮我如何实现吗?

【问题讨论】:

  • 您是否尝试将用户名发送为application/json?或者....
  • 不...纯文本格式

标签: c# xamarin xamarin.forms


【解决方案1】:

不...纯文本格式

将您的内容 mime 类型设置为“text/plain”:

httpClient.DefaultRequestHeaders.Add("content-type", "text/plain");

并发布一个字符串:

var response = await httpClient.PostAsync(url, new StringContent(userName));

【讨论】:

  • 感谢您的回答... httpClient.DefaultRequestHeaders.Add("content-type", "text/plain"); ..这条线给出了错误。我评论后它起作用了......
【解决方案2】:

Content-Type 不应该这样添加,它在我的情况下不起作用,并且给出了错误的响应,而是

像这样传递 content-Type -

httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/x-www-form-urlencoded");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-22
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 2018-02-23
    • 2022-01-11
    • 1970-01-01
    相关资源
    最近更新 更多