【发布时间】:2013-01-15 14:42:50
【问题描述】:
我有一个URL,它返回数据数组。
例如,如果我有 URL http://test.com?id=1,它将返回诸如 3,5,6,7 之类的值……
有没有什么方法可以处理这个 URL 并获得返回的值而无需进入浏览器(在应用程序中处理 url)?
谢谢
【问题讨论】:
我有一个URL,它返回数据数组。
例如,如果我有 URL http://test.com?id=1,它将返回诸如 3,5,6,7 之类的值……
有没有什么方法可以处理这个 URL 并获得返回的值而无需进入浏览器(在应用程序中处理 url)?
谢谢
【问题讨论】:
真的很简单:
using System.Net;
...
var response = new WebClient().DownloadString("http://test.com?id=1");
【讨论】:
string urlAddress = "YOUR URL";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlAddress);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = null;
if (response.CharacterSet == null)
readStream = new StreamReader(receiveStream);
else
readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
string data = readStream.ReadToEnd();
response.Close();
readStream.Close();
}
这应该可以解决问题。
返回首页的html源代码,填入string data。
你现在可以使用那个字符串了。
来源:http://www.codeproject.com/Questions/204778/Get-HTML-code-from-a-website-C
【讨论】:
这是我经常用于类似目的的一个简单函数(VB.NET):
Public Shared Function GetWebData(url As String) As String
Try
Dim request As WebRequest = WebRequest.Create(url)
Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
Dim dataStream As Stream = response.GetResponseStream()
Dim readStream As StreamReader = New StreamReader(dataStream)
Dim data = readStream.ReadToEnd()
readStream.Close()
dataStream.Close()
response.Close()
Return data
Catch ex As Exception
Return ""
End Try
End Function
要使用它,请将 URL 传递给它,它会返回 URL 的内容。
【讨论】: