微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试在c ++

如何解决尝试在c ++

我正在尝试在C ++ / CLI中使用net.http。在c ++中,几乎没有示例,而c#示例并非总是简单地翻译。微软文档倾向于使用C#,并且对C ++的差异有所保留。

当前代码

using namespace System::Net;
using namespace System::Net::Http;

[...]
        try 
        {
            HttpClient^ httpClient = gcnew HttpClient();

            HttpResponseMessage httpResponse =
                httpClient->GetAsync(apiUri)->Result;

            if (httpResponse.IsSuccessstatusCode)
            {
                 // handle results
            }
        }
        catch (Exception ^ ex) 
        {
                 // report error,etc
        }

[...]

代码未编译,错误

 error C2664: 'System::Net::Http::HttpResponseMessage::HttpResponseMessage(const System::Net::Http::HttpResponseMessage %)': cannot convert argument 1 from 'System::Net::Http::HttpResponseMessage ^' to 'System::Net::HttpStatusCode'

看起来它使用的是HTTPResponseMessage选择的构造函数错误的构造函数

如果我用HttpResponseMessage删除行并做

httpClient->GetAsync(apiUri)->Wait();

我干净地进行编译,并且Web服务器日志显示我的请求到达了那里。但是我需要状态码和返回的正文才能继续,并且我需要能够适当地设置标题。我没有为此找到c ++示例,上面的错误显示了我在翻译c#示例方面的进展。

我注定要失败吗?

/ dps

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。