разместить URL в C # и получить HTML - PullRequest
0 голосов
/ 25 октября 2011

Я хочу получить HTML-код конкретной страницы.Формат URL:

http://www.externalwebsite.com/dir/page.html?p1=parameter1value&p2=parametervalue2

Когда я получаю HTML-код этой страницы, появляется список скрытых значений, заполненных параметрами p1 и p2, записанными ранее в строке запроса.Затем есть действие POST, которое перенаправляет на «/dir/page.html»: на этой странице есть html-контент, который мне нужен.

Есть ли способ получить html-контент «dir / page.html»?

Любая помощь действительно приветствуется!

Спасибо

Я уже реализовал GetResponseStream с помощью потокового ридера, но я получаю этот фрагмент HTML:

<form name="myForm" method="post" action="/dir/page.html" accept-charset="ISO-8859-1">
    <input type="hidden" name="p1" value="parameter1">
    <input type="hidden" name="p2" value="parameter2">
</form>

Ответы [ 2 ]

1 голос
/ 25 октября 2011

Вы отправили HTTP-запрос GET, но при отправке формы вам необходимо отправить запрос HTTP PUT на сервер, который содержит два параметра p1 и p2.

Вы можете использовать WebRequestClass илиКласс WebClient и метод UploadValues для отправки параметров с HTTP POST:

WebClient wc = new WebClient();
byte[] result = wc.UploadValues("http://www.externalwebsite.com/dir/page.html", 
                                "POST", 
                                new NameValueCollection
                                    {
                                        { "p1", parameter1 }, 
                                        { "p2", parameter2 }
                                    });
1 голос
/ 25 октября 2011

Вы хотите GetResponse. Нечто подобное ..

HttpWebRequest request =          
    WebRequest.Create("http://www.externalwebsite.com/dir/page.html");
HttpWebResponse response  = request.GetResponse();
StreamReader reader  = New StreamReader(response.GetResponseStream());
string sHTML = reader.ReadToEnd();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...