matweb.com: Как получить источник страницы? - PullRequest
3 голосов
/ 20 декабря 2010

У меня есть URL как:
http://www.matweb.com/search/DataSheet.aspx?MatGUID=849e2916ab1541be9ff6a17b78f95c82

Я хочу скачать исходный код с этой страницы, используя этот код:

private static string urlTemplate = @"http://www.matweb.com/search/DataSheet.aspx?MatGUID=";

static string GetSource(string guid)
{
    try
    {
        Uri url = new Uri(urlTemplate + guid);

        HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
        webRequest.Method = "GET";               

        HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();

        Stream responseStream = webResponse.GetResponseStream();
        StreamReader responseStreamReader = new StreamReader(responseStream);
        String result = responseStreamReader.ReadToEnd();

        return result;
    }
    catch (Exception ex)
    {
        return null;
    }
}

Когда я так делаю, я получаю:

У вас, похоже, не включены файлы cookie. MatWeb Требуется, чтобы куки были включены.

Хорошо, я понимаю, поэтому я добавил строки:

CookieContainer cc = new CookieContainer();  
webRequest.CookieContainer = cc; 

Я получил:

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

Я могу понять это, но я не получаю это сообщение, когда пытаюсь зайти на эту страницу с помощью веб-браузера. Что я могу сделать, чтобы получить исходный код? Некоторые куки или http заголовки?

Ответы [ 3 ]

4 голосов
/ 20 декабря 2010

Возможно, вам не нравится ваш UserAgent.Попробуйте это:

webRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)"; //maybe substitute your own in here
1 голос
/ 20 декабря 2010

Похоже, вы делаете что-то, что не нравится компании, если вы получили ответ "чрезмерное использование".

0 голосов
/ 20 декабря 2010

Вы загружаете страницы слишком быстро.

Когда вы используете браузер, вы можете получать до одной страницы в секунду. Используя приложение, вы можете получать несколько страниц в секунду, и это, вероятно, то, что обнаруживает их веб-сервер. Отсюда и чрезмерное использование.

...