 |
C# многопотоки и bruteforce - Вопросы и ответы, обсуждения - Ваши вопросы по C# только в данном разделе |
10.12.2013, 13:46
|
#16
|
|
|
|
Сержант
|
 Регистрация: 01.10.2011
 Сообщений: 128
 Популярность: 5723
 Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
|
Re: C# многопотоки и bruteforce
NerdyCodingKid, ну если делать много запросов с 1 IP то сервер начнет возвращать 500+ ошибки
________________
Talk is cheap. Show me the code
— Linus Torvalds
|
|
|
10.12.2013, 13:47
|
#17
|
|
|
|
Разведчик
|
 Регистрация: 01.03.2012
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: C# многопотоки и bruteforce
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
то есть возможность торможения из за реализации метода SendPost вы даже не рассматриваете?
|
|
 |
|
 |
|
кхм, функция далеко не идеальна.. уверен что ее можно оптимизироват, но не думаю что есть что-то.. что скажется критичней инвока..
Код:
public string SendPost(string url, string postData, int ajax, string cookies)
{
string HTML = "";
string cook = "";
//ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
if (url == "0") return "0";
HttpWebRequest mRequest = (HttpWebRequest)HttpWebRequest.Create(url);
//mRequest.Proxy = new WebProxy("127.0.0.1", 8888);
if (postData != "") { mRequest.Method = "POST"; }
else { mRequest.Method = "GET"; }
mRequest.Referer = url;
mRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36";// Мою userAgent который я вытащил блогодоря httpanalyzer
mRequest.Accept = "image/gif, image/x-xbitmap, image/jpeg,image/pjpeg, application/x-shockwave-flash,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword";
mRequest.Headers.Add("Accept-Language", "ru");
if (ajax == 1)
{
mRequest.Headers.Add("X-Requested-With", "XMLHttpRequest");
mRequest.ContentType = "application/json;charset=utf-8";
}
else
{
// mRequest.ContentType = "application/x-www-form-urlencoded";
}
mRequest.KeepAlive = false;
mRequest.AllowAutoRedirect = false;
if (!string.IsNullOrEmpty(cookies))
{
mRequest.Headers.Add(System.Net.HttpRequestHeader.Cookie, cookies);
}
string sQuerystring = postData;
byte[] ByteArr = System.Text.Encoding.GetEncoding(1251).GetBytes(sQuerystring);
try
{
if (postData != "")
{
mRequest.ContentLength = ByteArr.Length;
mRequest.GetRequestStream().Write(ByteArr, 0, ByteArr.Length);
};
HttpWebResponse mResponse = (HttpWebResponse)mRequest.GetResponse();
StreamReader mReader;
mReader = new StreamReader(mResponse.GetResponseStream(), System.Text.Encoding.UTF8);
HTML = mReader.ReadToEnd();
cook = mResponse.Headers.ToString();
}
catch (Exception err)
{
MessageBox.Show(err.ToString() + HTML);
return "0";
}
return cook + HTML;
}
|
|
|
10.12.2013, 13:50
|
#18
|
|
|
|
Разведчик
|
 Регистрация: 18.11.2013
 Сообщений: 3
 Популярность: 197
 Сказал(а) спасибо: 0
Поблагодарили 10 раз(а) в 9 сообщениях
|
Re: C# многопотоки и bruteforce
По инвоку - может, стоит создать статический Query<Action>, в который можно было-бы пихать лямбды, которые бы уже выполнялись в диспатчере через соседний поток? Это было-бы куда шустрее.
Последний раз редактировалось NerdyCodingKid; 12.12.2013 в 21:59.
|
|
|
10.12.2013, 13:53
|
#19
|
|
|
|
Разведчик
|
 Регистрация: 01.03.2012
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: C# многопотоки и bruteforce
 |
Цитата: |
 |
|
|
|
|
|
Мужик, я у тебя в долгу.. стояло два коннекта..
выставил 50, кажется скорость даже превзойдёт перловку.. СПАСИБО!
Всем спасибо за ответы ребят, я даже надежду потерял..
Большое спасибо!
Добавлено через 2 минуты
 |
Цитата: |
 |
|
|
 |
Сообщение от NerdyCodingKid |
 |
|
|
|
|
|
|
По инвоку - может, стоит создать статический Query<Action>, в который можно было-бы пихать лямбы, которые бы уже выполнялись в диспатчере через соседний поток? Это было-бы куда шустрее.
|
|
 |
|
 |
|
Кхм, спасибо.. хорошая идея, думаю это здорово оптимизирует, сейчас перепишу..
Последний раз редактировалось slejpni; 10.12.2013 в 13:55.
Причина: Добавлено сообщение
|
|
|
10.12.2013, 13:55
|
#20
|
|
|
|
Сержант
|
 Регистрация: 01.10.2011
 Сообщений: 128
 Популярность: 5723
 Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
|
Re: C# многопотоки и bruteforce
если прокси не используется то лучше указать это явно
Код:
mRequest.Proxy = null;
ибо если этого не сделать то метод GetResponce начнет автоопределение прокси и остановится на прокси по умолчанию, бессмысленный и беспощадный майкрософт решил все за нас.
Из той же области что и лимит соединений - ServicePointManager.Expect100Continue, выставляем его значение в false, получаем прирост скорости в несколько мс.
________________
Talk is cheap. Show me the code
— Linus Torvalds
Последний раз редактировалось Yukikaze; 10.12.2013 в 14:00.
|
|
|
10.12.2013, 13:55
|
#21
|
|
|
|
Разведчик
|
 Регистрация: 18.11.2013
 Сообщений: 3
 Популярность: 197
 Сказал(а) спасибо: 0
Поблагодарили 10 раз(а) в 9 сообщениях
|
Re: C# многопотоки и bruteforce
Как обычно - самый простой вариант оказался самым правильным. Поделись теперь результатами - сколько запросов отправляет вариант на шарпе и на перле? Для сравнения, даже с такой реализацией.
|
|
|
10.12.2013, 14:19
|
#22
|
|
|
|
Разведчик
|
 Регистрация: 01.03.2012
 Сообщений: 0
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: C# многопотоки и bruteforce
Последний раз редактировалось slejpni; 10.12.2013 в 14:24.
Причина: Добавлено сообщение
|
|
|
10.12.2013, 14:24
|
#23
|
|
|
|
Старший сержант
|
 Регистрация: 29.07.2011
 Сообщений: 197
 Популярность: 8989
 Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
|
Re: C# многопотоки и bruteforce
|
|
|
10.12.2013, 14:26
|
#24
|
|
|
|
Разведчик
|
 Регистрация: 18.11.2013
 Сообщений: 3
 Популярность: 197
 Сказал(а) спасибо: 0
Поблагодарили 10 раз(а) в 9 сообщениях
|
Re: C# многопотоки и bruteforce
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Ну допустим да, порталы то разные бывают...
|
|
 |
|
 |
|
Ога
И на ютубе один ролик не включить в двух вкладках, да?
p.s. Да и в конце концов, попробуй два TCPClient'а кинуть на localhost.
Последний раз редактировалось NerdyCodingKid; 10.12.2013 в 14:39.
|
|
|
10.12.2013, 17:09
|
#25
|
|
|
|
Рыцарь-защитник
|
 Регистрация: 28.08.2009
 Сообщений: 603
 Популярность: 19129
 Золото Zhyk.Ru: 500
 Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
|
Re: C# многопотоки и bruteforce
Хочу сказать что можно использовать массив, а индекс инкрементить через Interlocked.
Там есть функция атомарного инкремента, тестировал на 500 потоках, ни один не выдал повтора/ошибки, а если использовать lock(object){code} - возможны дубли и exception-ы.
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
|
|
|
10.12.2013, 17:38
|
#26
|
|
|
|
Старший сержант
|
 Регистрация: 29.07.2011
 Сообщений: 197
 Популярность: 8989
 Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
|
Re: C# многопотоки и bruteforce
|
|
|
10.12.2013, 19:37
|
#27
|
|
|
|
Рыцарь-защитник
|
 Регистрация: 28.08.2009
 Сообщений: 603
 Популярность: 19129
 Золото Zhyk.Ru: 500
 Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
|
Re: C# многопотоки и bruteforce
Возможны, ещё и как возможны.
А exception-ы раз в 1-2 часа только так летят.
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
|
|
|
10.12.2013, 19:39
|
#28
|
|
|
|
Старший сержант
|
 Регистрация: 29.07.2011
 Сообщений: 197
 Популярность: 8989
 Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
|
Re: C# многопотоки и bruteforce
|
|
|
10.12.2013, 21:57
|
#29
|
|
|
|
Разведчик
|
 Регистрация: 18.11.2013
 Сообщений: 3
 Популярность: 197
 Сказал(а) спасибо: 0
Поблагодарили 10 раз(а) в 9 сообщениях
|
Re: C# многопотоки и bruteforce
Мне тоже интересно что за исключения может выдавать lock.
|
|
|
10.12.2013, 23:31
|
#30
|
|
|
|
Старший сержант
|
 Регистрация: 29.07.2011
 Сообщений: 197
 Популярность: 8989
 Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
|
Re: C# многопотоки и bruteforce
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
[Помогите!] Многопоточность
|
=PaLeTiZaToR= |
Вопросы и ответы, обсуждения |
0 |
09.10.2012 22:03 |
[Помогите!] Многопоточность!
|
anonops |
Вопросы и ответы, обсуждения |
7 |
25.04.2012 21:39 |
[Помогите!] Многопоточность
|
=PaLeTiZaToR= |
Вопросы и ответы, обсуждения |
2 |
08.01.2012 20:23 |
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 18:54.
|
 |