首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >http请求期间的无效操作

http请求期间的无效操作
EN

Stack Overflow用户
提问于 2016-04-26 03:08:20
回答 2查看 3.6K关注 0票数 2

我正在编写一个windows forms应用程序,用户必须输入电子邮件地址,我需要检查它是否有效。

我找到了Mashape API,但我得到了一个例外;

“System.InvalidOperationException类型的未处理异常发生在System.Net.Http.dll中”错误出现在Unirest库.

错误发生与msg.Headers.Add(header.Key, header.Value);一致

价值是:

  • header.Key =“内容类型”
  • header.Value = "application/json“

Debugger说:

“请确保请求标头与HttpRequestMessage一起使用,响应标头用于HttpResponseMessage,内容标头用于HttpContent对象。”

我找不到任何解决办法,有人知道怎么解决吗?

代码语言:javascript
运行
复制
    Task<HttpResponse<EWSemail>> response = Unirest.post("https://email.p.mashape.com/")
    .header("X-Mashape-Key", myKey)
    .header("Content-Type", "application/json")
    .header("Accept", "application/json")
    .body("{\"email\":\"" + tbEmail.Text + "\"}")
    .asJsonAsync<EWSemail>();

统一图书馆:

代码语言:javascript
运行
复制
    private static Task<HttpResponseMessage> RequestHelper(HttpRequest request)
    {
        if (!request.Headers.ContainsKey("user-agent"))
        {
            request.Headers.Add("user-agent", USER_AGENT);
        }

        var client = new HttpClient();
        var msg = new HttpRequestMessage(request.HttpMethod, request.URL);

        foreach (var header in request.Headers)
        {
            msg.Headers.Add(header.Key, header.Value);
        }                 //   ^^"Content-Type"  ^^ "application/json"

        if (request.Body.Any())
        {
            msg.Content = request.Body;
        }

        return client.SendAsync(msg);
    }
EN

Stack Overflow用户

发布于 2016-04-26 04:12:19

好的,它不起作用,因为Mashape提供的语法不好。在这种情况下,header.Key必须是"ContentType“(引用:https://msdn.microsoft.com/en-us/library/system.net.httprequestheader%28v=vs.110%29.aspx)。

对不起,我的垃圾邮件,谢谢@codran,您的回答帮助我找到了这个答案。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36854577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档