Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Вотпрос по C# с открытием адресов по очереди (https://forum.antichat.xyz/showthread.php?t=210500)

leaderru 10.06.2010 08:36

Вотпрос по C# с открытием адресов по очереди
 
Подскажите пожалуйста как на C# сделать программу, которая будет открывать сайты по очереди.

Короче, Программа должна открывать заданные страницы, браузером начиная от

Код:

http://primer.ru/76560000000000000
и до

Код:

http://primer.ru/76569999999999999
После открытия страницы, открывать следующую, с интервалом +1 страница

geniusz 10.06.2010 11:34

Старое сайтом при открытии следующего должно закрываться или нет?

leaderru 10.06.2010 15:22

нет

eLWAux 10.06.2010 16:30

Код:

int i = 0;
for (i=0; i<=9999; i++)
{
          string page = GET("http://primer.ru/"+Convert.ToString(i));
}

тебе остается написать ф-цию GET которая будет скачивать страницу..

zORG 10.06.2010 17:43

string GET(string url)
{
WebRequest req = WebRequest.Create(url);
WebResponse resp = req.GetResponse();
Stream stream = resp.GetResponseStream();
StreamReader sr = new StreamReader(stream);
string s = sr.ReadToEnd();
return s;
}

.ATK 10.06.2010 17:59

for(int i=76560000000000000;i<76569999999999999;i++)
{
unsafe(WebClient wb=new WebClient())
{
wb.DownloadString ("http://primer.ru/"+i);
}
}

d_x 10.06.2010 18:55

Цитата:

for(int i=76560000000000000;i<76569999999999999;i++)
{
unsafe(WebClient wb=new WebClient())
{
wb.DownloadString ("http://primer.ru/"+i);
}
}
Осталось только вспомнить, что signed int принимает максимальное значение 2147483647 :)

Bers 10.06.2010 19:10

Цитата:

Сообщение от d_x
Цитата:

for(int i=76560000000000000;i<76569999999999999;i++)
{
unsafe(WebClient wb=new WebClient())
{
wb.DownloadString ("http://primer.ru/"+i);
}
}
Осталось только вспомнить, что signed int принимает максимальное значение 2147483647 :)

А также вспомнить синтаксис оператора unsafe :)

leaderru 10.06.2010 19:13

Спасибо, а вот еще вопрос, как сделать программу чтобы четкий дипозон указывал я

Программа должна открывать страницы браузера из этих заданных диапазонов начиная с меньшего и заканчивая большим, открыв страницу нужно подтвердить всплывающие окно или же нажать Enter чтобы закрыть его и после этого добавится человек в стим, и продолжать открывать следующие страницы с таким же циклом

добавляется в стим человек по такой ссылке:
Код:

steam://friends/add/76561198005049041

zORG 10.06.2010 19:26

тут надо сниффером смотреть уже
fiddler2 например

Bers 10.06.2010 19:28

Цитата:

Сообщение от leaderru
Спасибо, а вот еще вопрос, как сделать программу чтобы четкий дипозон указывал я

Программа должна открывать страницы браузера из этих заданных диапазонов начиная с меньшего и заканчивая большим, открыв страницу нужно подтвердить всплывающие окно или же нажать Enter чтобы закрыть его и после этого добавится человек в стим, и продолжать открывать следующие страницы с таким же циклом

добавляется в стим человек по такой ссылке:
Код:

steam://friends/add/76561198005049041

Я не вполне понял, что значит "указывал диапазон", но по идее это делается так:

Код:

void Foo(string uriTemplate, IEnumerable<string> codes)
{
  foreach(var code in codes)
  {
    using(var client = new WebClient())
    {
      client.DownloadString(string.Format(uriTemplate, code));
    }
  }
}

...
// а здесь ты эту функцию используешь:
// первый параметр - шаблон адреса
// второй параметр - список кодов для подстановки в шаблон.
// например, string[], List<string>, что угодно
Foo(
  "steam://friends/add/{0}",
  new [] { "76561198005049041", "76561198005049041" } );

Это если я правильно понял задачу.
Кстати, не уверен, что WebClient будет работать с протоколом Steam.

UPD: Проверил - не работает. Тогда остается другой способ:

Цитата:

Сообщение от zORG
тут надо сниффером смотреть уже
fiddler2 например

Сниффаем трафик Steam-клиента, разбираемся, что и куда он отправляет, а затем переписываем функцию по такому принципу:

Код:

void Foo(string uriTemplate, IEnumerable<string> codes)
{
  foreach(var code in codes)
  {
    using(var client = new WebClient())
    {
      var address = string.Format(uriTemplate, code);
      // а здесь имитируем поведение Steam-клиента
    }
  }
}

Только, боюсь, там все будет сложно и запутано :)

UPD 2: Насколько я понял, тебе нужно отправлять команды вроде добавления друзей и т.п. клиенту Steam, запущенному на данной машине? Тогда можно попробовать импортировать функции из steam.dll и вызывать их.


Время: 04:18