Есть ли C # эквивалентный Perl LWP :: UserAgent? - PullRequest
3 голосов
/ 18 декабря 2009

В проекте, в который я вовлечен, есть требование, чтобы цена определенной акции будут запрашиваться из какого-то веб-интерфейса и отображаться каким-либо образом.

Я знаю, что часть запроса может быть легко реализована с помощью модуля Perl, такого как LWP :: UserAgent. Но по какой-то причине C # был выбран в качестве языка для реализации части отображения. Я не хочу добавлять какой-либо IPC (например, сокет или косвенно через базу данных) в этот крошечный проект, поэтому мой вопрос, есть ли какой-нибудь C # эквивалент Perl LWP :: UserAgent?

Ответы [ 3 ]

6 голосов
/ 18 декабря 2009

Вы можете использовать объект System.Net.HttpWebRequest.

Это выглядит примерно так:

// 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();
}
3 голосов
/ 18 декабря 2009

Я не уверен, но вы просто пытаетесь сделать HTTP-запрос? Если это так, вы можете использовать класс HttpWebRequest. Вот пример http://www.csharp -station.com / HowTo / HttpWebFetch.aspx

2 голосов
/ 18 декабря 2009

Если вы хотите просто получить данные из Интернета, вы можете использовать WebClient класс . Вроде бы неплохо для быстрых запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...