开发者

Is there any C# equivalent to the Perl's LWP::UserAgent?

开发者 https://www.devze.com 2022-12-14 03:59 出处:网络
In a project I\'m invovled in, there is a requirment that the price of certain stocks will be queryed from some web interface and be displayed in some way.

In a project I'm invovled in, there is a requirment that the price of certain stocks will be queryed from some web interface and be displayed in some way.

I know the "query" part of the requirment can be easily implemented using a Perl module like LWP:开发者_运维百科:UserAgent. But for some reason, C# has been chosen as the language to implement the Display part. I don't want to add any IPC (like socket, or indirectly by database) into this tiny project, so my question is there any C# equivalent to the Perl's LWP::UserAgent?


You can use the System.Net.HttpWebRequest object.

It looks something like this:

// Setup the HTTP request.
HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create("http://www.google.com");

// This is optional, I'm just demoing this because of the comments receaved.
httpWebRequest.UserAgent = "My Web Crawler"; 

// Send the HTTP request and get the response.
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();

if (httpWebResponse.StatusCode == HttpStatusCode.OK)
{
    // Get the HTML from the httpWebResponse...
    Stream responseStream = httpWebResponse.GetResponseStream();
    StreamReader reader = new StreamReader(responseStream);
    string html = reader.ReadToEnd();
}


I'm not sure, but are you simply trying to make an HTTP Request? If so, you can use the HttpWebRequest class. Here's an example http://www.csharp-station.com/HowTo/HttpWebFetch.aspx


If you want to simply fetch data from the web, you could use the WebClient class. It seems to be quite good for quick requests.

0

精彩评论

暂无评论...
验证码 换一张
取 消