C# 如何从web API调用获取响应
我有一个API,我想调用它并得到响应。然后我想把这个响应赋给一个变量 我有一个API,比如:C# 如何从web API调用获取响应,c#,asp.net,web-services,C#,Asp.net,Web Services,我有一个API,我想调用它并得到响应。然后我想把这个响应赋给一个变量 我有一个API,比如: http://example.org/Webservicesms_get_userbalance.aspx?user=xxxx&passwd=xxxx 当我在浏览器中运行此URL时,它会打印短信余额。我希望此短信余额作为响应,然后将其分配给我页面中的变量。您的服务是一个.aspx页面,它只返回文本(短信余额),不返回html? 如果是这样的话,你可以“刮” string urlData = S
http://example.org/Webservicesms_get_userbalance.aspx?user=xxxx&passwd=xxxx
当我在浏览器中运行此URL时,它会打印短信余额。我希望此短信余额作为响应,然后将其分配给我页面中的变量。您的服务是一个.aspx页面,它只返回文本(短信余额),不返回html? 如果是这样的话,你可以“刮”
string urlData = String.Empty;
WebClient wc = new WebClient();
urlData = wc.DownloadString("http://domainname/Webservicesms_get_userbalance.aspx?user=xxxx&passwd=xxxx");
你也可以使用class
当然,您可以将控制台.WriteLine更改为您想对响应执行的任何操作。ajax调用可能会完成您的工作…@Yves M您能描述一下吗?您尝试了哪些操作,哪些部分给您带来了问题?例如,您使用过哪些搜索词的搜索结果为空?请编辑问题以添加此信息…+1;这可能是我见过的最常见的例子。但为什么它比尼尔给出的答案要好呢?它是否适用于较旧的代码?要让它正常工作,你需要包括的程序集是否更少?@MerlynMorgan-Graham不认为我的答案比Neil的好。我可以说,WebClient需要STA线程才能在其中运行。WebRequest在.NET4、3.5、3.0、2.0、1.1、1.0中都受支持,所以它应该可以工作。这感觉比使用DownloadString更快。
WebRequest request = WebRequest.Create ("http://domainname/Webservicesms_get_userbalance.aspx?user=xxxx&passwd=xxxx");
// Get the response.
HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
// Get the stream containing content returned by the server.
Stream dataStream = response.GetResponseStream ();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader (dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd ();
// Display the content.
Console.WriteLine (responseFromServer);
// Cleanup the streams and the response.
reader.Close ();
dataStream.Close ();
response.Close ();