Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> C# и интернет 
:(
    Опции темы
Pury
Дата 17.1.2008, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Заранее извиняюсь, если поместил тему не в тот раздел.
Вопрос у меня такой: есть какой-нибудь простой способ просмотра html, php и других интернет страниц через c#?
То есть грубо говоря мне нужно знать содержание этих страниц как если бы я зашел на них через браузер и выбрал бы просмотр кода.
заранее спасибо!
PM MAIL   Вверх
Legolas
Дата 17.1.2008, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 14.2.2007

Репутация: 3
Всего: 5



Код

WebBrowser browser = new WebBrowser();
browser.Navigate("www.forum.vingrad.ru");
string str = browser.DocumentText;


ты это имеешь ввиду?
PM MAIL   Вверх
RWander
Дата 17.1.2008, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

Репутация: 1
Всего: 6



Pury, если нужен html-код, то узай HttpWebRequest и HttpWebResponse

Код

using System.Net;

......
HttpWebRequest myHttpWebRequest =   (HttpWebRequest) HttpWebRequest.Create("http://yandex.ru");
HttpWebResponse myHttpWebResponse =   (HttpWebResponse)myHttpWebRequest.GetResponse();

//вывод содержимого ввиде html-кода на консоль
StreamReader myStreamReader = 
    new StreamReader( myHttpWebResponse.GetResponseStream(), Encoding.GetEncoding(1251));
Console.WriteLine(myStreamReader.ReadToEnd());
.....


Это сообщение отредактировал(а) RWander - 17.1.2008, 21:36


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
Pury
Дата 17.1.2008, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Спасибо откликнувшимся! Но оба варианта почему то не работают! 
Первый вариант(вариант Леголаса) всегда выводит пустую строку.
Второй же(вариант РВондера) зависает на строке 
Код

HttpWebResponse myHttpWebResponse =   (HttpWebResponse)myHttpWebRequest.GetResponse();

Я менял Uri но ничего не помогает...

PM MAIL   Вверх
source777
Дата 17.1.2008, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 3
Всего: 56



Цитата

Я менял Uri но ничего не помогает...
А на такой - http://forum.vingrad.ru, пробовал?


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Pury
Дата 17.1.2008, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Цитата(source777 @ 17.1.2008,  23:14)
Цитата

Я менял Uri но ничего не помогает...
А на такой - http://forum.vingrad.ru, пробовал?

Цитата
Цитата

Я менял Uri но ничего не помогает...
А на такой - http://forum.vingrad.ru, пробовал?

Ваще то пробовал... А вообще как то не понимаю чем эта страница хороша...
PM MAIL   Вверх
source777
Дата 17.1.2008, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 3
Всего: 56



Цитата

Ваще то пробовал... А вообще как то не понимаю чем эта страница хороша...
просто как пример, я имел в виду не конкретно страницу, а факт указания протокола...


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Pury
Дата 17.1.2008, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



А если не писать http то он еще на стадии компиляции ругается.
PM MAIL   Вверх
Legolas
Дата 18.1.2008, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 14.2.2007

Репутация: 3
Всего: 5



Pury, всё очень просто - страница не успевает загрузиться. разведи по разным контролам (например кнопкам). когда в ьраузере появляется страничка жми кнопку и считывай ее в строку.
PM MAIL   Вверх
RWander
Дата 18.1.2008, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 349
Регистрация: 4.5.2006
Где: Russia.Udm.Izhevs k

Репутация: 1
Всего: 6



Цитата(Pury @  18.1.2008,  00:03 Найти цитируемый пост)

Второй же(вариант РВондера) зависает на строке код HttpWebResponse myHttpWebResponse =   (HttpWebResponse)myHttpWebRequest.GetResponse();
менял Uri но ничего не помогает..

У меня все отлично работает=)

Это сообщение отредактировал(а) RWander - 18.1.2008, 11:52


--------------------
Microsoft Certified Technology Specialist - ASP.NET Applications
PM MAIL   Вверх
Legolas
Дата 20.1.2008, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 14.2.2007

Репутация: 3
Всего: 5



you can also do it like that:

Код

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

class internet
{
public static void Main()
{
WebRequest r = WebRequest.Create("http://www.yandex.ru");
WebResponse re = r.GetResponse();
Stream s = re.GetResponseStream();
Byte[] a = new Byte[51200];
int b = s.Read(a, 0, 51200);
Console.WriteLine(b);
Console.Write(System.Text.Encoding.ASCII.GetString(a, 0, b));
}     
}



Это сообщение отредактировал(а) Legolas - 20.1.2008, 01:31
PM MAIL   Вверх
Experimenter
Дата 20.1.2008, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 430
Регистрация: 8.5.2007
Где: Уфа

Репутация: 4
Всего: 17



Pury, может у тебя прокси используется?


--------------------
public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){
    if(zlo1 < zlo2) return zlo1;
    else if(zlo1 > zlo2) return zlo2;
    else throw new Exception("Kill yourself by the wall"); }
PM WWW ICQ   Вверх
Pury
Дата 22.1.2008, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Код
WebBrowser wBr = new WebBrowser();
            wBr.Navigate("http://ya.ru");
            while (wBr.ReadyState != WebBrowserReadyState.Complete)
            { 
                Application.DoEvents();
            };



Вобщем всем спасибо, у меня заработало вот с таким кодом.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0505 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.