'HttpWebRequest'不包含'GetResponse'的定义

时间:2018-01-11 16:48:41

标签: c# .net-core httpwebrequest

我尝试了所有解决方案,但我没有解决问题。

var requisicaoWeb = WebRequest.CreateHttp("url");
requisicaoWeb.Method = "GET";
//requisicaoWeb.UserAgent = "";\\UserAgente doenst work

using (var resposta = requisicaoWeb.GetResponse())
{
    var streamDados = resposta.GetResponseStream();
    StreamReader reader = new StreamReader(streamDados);
    object objResponse = reader.ReadToEnd();

    var post = JsonConvert.DeserializeObject(objResponse.ToString());

    Console.WriteLine(post);
    Console.ReadLine();
    streamDados.Close();
    resposta.Close();
}

requisicao.GetResponse中是错误

  

'HttpWebRequest'不包含'GetResponse'的定义,并且没有可以找到接受类型'HttpWebRequest'的第一个参数的扩展方法'GetResponse'(你是否缺少using指令或汇编引用?)

当我使用CTRL + SPACE时,它只显示BeginGetRequestStream()BeginGetRespnseEndGetRequestStreamEndGetResponseGetRequestStramAsyncGetResponseAsync

1 个答案:

答案 0 :(得分:2)

您需要在代码顶部使用正确的using

using System.Net;

您的代码应如下所示:

using (var resposta = (HttpWebResponse)requisicaoWeb.GetResponse())
{
    ...
}

编辑:

在一些提示后,OP已经提到他们是针对.NET Core 1.0的Visual Studio 2015。

Scott Chamberlain in the comments所述,这就是这个问题的原因。在VS2017中定位.NET Core 2.0允许您成功使用GetResponse