Asp.net HttpWebRequest не могу исходный код

Я хочу HTML исходный код с asp.net HttpWebRequest, но есть проблема.

Я могу заполучить это. Нет проблем, что: https://www.nesine.com/iddaa/default.aspx

Но я не понимаю: http://www.iddaa.com/program/futbol.html

На мой взгляд проблема URL-маршрутизации.

Я использую код

public static string GetSourceCode(string url)
{

    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);


    HttpWebResponse resp = (HttpWebResponse)req.GetResponse();


    StreamReader sRead = new StreamReader(resp.GetResponseStream(), Encoding.UTF8);


    return sRead.ReadToEnd();
}

Помоги мне, пожалуйста. Благодарю.

1 ответ

http://www.iddaa.com/program/futbol.html url интенсивно использует JavaScript и AJAX для загрузки своего динамического содержимого. Это приложение SPA. HttpWebRequest класс в.NET не выполняет никакой JavaScript. Это просто загрузка содержимого, возвращенного сервером в указанном месте.

Изучив сетевой трафик, вы заметите, что интересующая вас информация находится по следующему адресу: http://www.iddaa.com/program/data?sportId=1&date=&sortType=&marketType=1

введите описание изображения здесь

Таким образом, вы можете пойти дальше и очистить этот URL:

using System;
using System.IO;
using System.Net;

static class Program
{
    static void Main()
    {
        var request = WebRequest.Create("http://www.iddaa.com/program/data?sportId=1&date=&sortType=&marketType=1");
        using (var response = request.GetResponse())
        using (var stream = response.GetResponseStream())
        using (var reader = new StreamReader(stream))
        {
            string responseHtml = reader.ReadToEnd();
            Console.WriteLine(responseHtml);
        }
    }
}

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

Другие вопросы по тегам