c# - Http Get 请求 GetResponse 错误

标签 c# get request windows-store webresponse

我正在尝试发送获取请求并获取网页内容。我有这些代码。

string url = "www.google.com";

 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
 HttpWebResponse response = (HttpWebResponse)response.GetResponse();

我从许多站点找到了这些代码,它们是正确的,但“GetResponse”给出了错误。其解释如下。

是否是 Visual Studio 2012 的问题?它找不到 GetResponse 方法,当我按 G 时只找到 GetResponseStream 方法。

我尝试使用 WebClient 类来执行此操作,但也找不到 WebClient。 出现这些问题是因为 Visual Studio 2012 吗?还是什么原因?

错误 1“System.Net.HttpWebResponse”不包含“GetResponse”的定义,并且找不到接受“System.Net.HttpWebResponse”类型的第一个参数的扩展方法“GetResponse”(您是否缺少使用指令或程序集引用?) C:\Users\abidinberkay1\documents\visual studio 2012\Projects\App1\App1\BlankPage1.xaml.cs 45 66 App1

最佳答案

您正在调用“response.GetResponse()”。它是请求.GetResponse()。

更新:根据您的评论,我将提出一些新代码:

private async void btnRequest_Click(object sender, EventArgs e)  // Note: async added
{
    string url = "www.google.com";
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    HttpWebResponse response = (HttpWebResponse) await request.GetResponseAsync(); // (note: await added, method call changed to GetResponseAsync()

}

我已经更新了您的代码以使用 C# 5.0 异步和等待模式。这使您可以在编写感觉同步的代码时轻松地使用异步方法。为此,我在方法声明中添加了 async 关键字,在返回类型之前(在本例中为 void),并且添加了 await 调用前的关键字 WebRequest.GetResponseAsync() .

要回答有关如何知道您正在使用哪个库的问题:在本例中,您选择了一个 Windows 应用商店应用程序。您应该特别指出您正在从事的项目类型 - 这将帮助我们更快地确定这些类型的事情。

关于c# - Http Get 请求 GetResponse 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13695437/

相关文章:

javascript - facebook apprequests 对话框错误 "An error occurred. Please try again later."

c# - 任何人都可以将这 3 个 LINQ to SQL 语句缩减为一个吗?

c# - 创建 ASP.NET Control 对象的副本

c++ - 如何从 C++ rand() 获取当前种子?

reactjs - 每小时刷新 token 的最佳方法?

php - 签署我的请求时我做错了什么? AWS SignatureV4 和 PHP

c# - 如何使用最小起订量设置 BeginXXX EndXXX 方法调用?

c# - 分配不同结果的最佳方式?

r - 无法在R中使用get()保存表

PHP @ 而不是 isset 来测试 $_GET 值