 |
Прикрепить Cookie.Container и другие параметры - Школа Читера - Основы основ - начинаем писать статьи для начинающих с целью создания полноценного раздела |
09.04.2011, 12:25
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 07.09.2009
 Сообщений: 11
 Популярность: 32
 Сказал(а) спасибо: 8
Поблагодарили 11 раз(а) в 8 сообщениях
|
Прикрепить Cookie.Container и другие параметры
Код:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://getwatchers.com/out.php?id=60237&username=Jrandvell&id2=60237&vote=v10");// Создаем запрос
request.Method = "GET";
request.Accept = "application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16";
CookieContainer cc = new CookieContainer();
request.CookieContainer = cc;
request.Headers.Set("Referer", "http://getwatchers.com/art_viewerw.php?username=Jrandvell&id=60237");
request.Headers.Set("Keep-Alive", "300");
request.Headers.Set("Cookie", "u=Jrandvell; id=60237; hide100=1");
Помогите пожалуйста, раньше не занимался программированием, начинаю потихоньку осваивать.
Вопрос: как прикрепить к пакету Cookies, Referer и Keep-Alive и что исправить в коде, чтобы программа функционировала.
Заранее благодарен
Добавлено через 2 часа 4 минуты
Код:
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("http://getwatchers.com/out.php?id=60237&username=Jrandvell&id2=60237&vote=v10");// Создаем запрос
Request.Method = "GET";
Request.Referer = "http://getwatchers.com/art_viewerw.php?username=Jrandvell&id=60237";
Request.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)";
Request.Accept = "application/xml,application/xhtml+xml,text/html;q=0.7,text/plain;q=0.8,image/png,*/*;q=0.3";
Request.Headers.Add("Accept-Language", "ru,en-us;q=0.7,en;q=0.3");
Request.Headers.Add("Accept-Encoding", "gzip,deflate");
Request.Headers.Add("Accept-Charset", "windows-1251,utf-8;q=0.7,*;q=0.7");
Request.Headers.Add(HttpRequestHeader.Cookie, "u=Jrandvell; id=60237; hide100=1");
Переделал на такое, отладчик перестал ругаться, но программа все равно не посылает того что надо
Последний раз редактировалось nikitoz; 09.04.2011 в 14:31.
Причина: Добавлено сообщение
|
|
|
09.04.2011, 18:03
|
#2
|
|
|
|
Рыцарь-защитник
|
 Регистрация: 14.01.2011
 Сообщений: 633
 Популярность: 28087
 Золото Zhyk.Ru: 1
 Сказал(а) спасибо: 90
Поблагодарили 717 раз(а) в 374 сообщениях
|
Re: Прикрепить Cookie.Container и другие параметры
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Код:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://getwatchers.com/out.php?id=60237&username=Jrandvell&id2=60237&vote=v10");// Создаем запрос
request.Method = "GET";
request.Accept = "application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16";
CookieContainer cc = new CookieContainer();
request.CookieContainer = cc;
request.Headers.Set("Referer", "http://getwatchers.com/art_viewerw.php?username=Jrandvell&id=60237");
request.Headers.Set("Keep-Alive", "300");
request.Headers.Set("Cookie", "u=Jrandvell; id=60237; hide100=1");
Помогите пожалуйста, раньше не занимался программированием, начинаю потихоньку осваивать.
Вопрос: как прикрепить к пакету Cookies, Referer и Keep-Alive и что исправить в коде, чтобы программа функционировала.
Заранее благодарен
Добавлено через 2 часа 4 минуты
Код:
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("http://getwatchers.com/out.php?id=60237&username=Jrandvell&id2=60237&vote=v10");// Создаем запрос
Request.Method = "GET";
Request.Referer = "http://getwatchers.com/art_viewerw.php?username=Jrandvell&id=60237";
Request.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)";
Request.Accept = "application/xml,application/xhtml+xml,text/html;q=0.7,text/plain;q=0.8,image/png,*/*;q=0.3";
Request.Headers.Add("Accept-Language", "ru,en-us;q=0.7,en;q=0.3");
Request.Headers.Add("Accept-Encoding", "gzip,deflate");
Request.Headers.Add("Accept-Charset", "windows-1251,utf-8;q=0.7,*;q=0.7");
Request.Headers.Add(HttpRequestHeader.Cookie, "u=Jrandvell; id=60237; hide100=1");
Переделал на такое, отладчик перестал ругаться, но программа все равно не посылает того что надо
|
|
 |
|
 |
|
Код:
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("http://getwatchers.com/out.php?id=60237&username=Jrandvell&id2=60237&vote=v10");// Создаем запрос
CookieContainer cc = new CookieContainer();//создаем куки контейнер
request.CookieContainer = cc;//получаем куки
Request.Method = "GET";
Request.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)";
Request.Accept = "application/xml,application/xhtml+xml,text/html;q=0.7,text/plain;q=0.8,image/png,*/*;q=0.3";
request.AllowAutoRedirect = false;//запрещаем редиррект
HttpWebResponse response = (HttpWebResponse)request.GetResponse();// получаем ответ
// Получаем html-код страницы
string html = new StreamReader(response.GetResponseStream(),Encoding.UTF8).ReadToEnd();
MessageBox.Show(html);// Выводим ответ сервера
|
|
|
09.04.2011, 20:51
|
#3
|
|
|
|
Разведчик
|
 Регистрация: 07.09.2009
 Сообщений: 11
 Популярность: 32
 Сказал(а) спасибо: 8
Поблагодарили 11 раз(а) в 8 сообщениях
|
Re: Прикрепить Cookie.Container и другие параметры
Спасибо огромное! Теперь все работает
Я немного дополнил код
Код:
int N; N = 0;
do
{
N = N + 1;
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("http://getwatchers.com/out.php?id=60237&username=Jrandvell&id2=60237&vote=v10");// Создаем запрос
CookieContainer cc = new CookieContainer();//создаем куки контейнер
Request.CookieContainer = cc;//получаем куки
Request.Method = "GET";
Request.Referer = "http://getwatchers.com/art_viewerw.php?username=Jrandvell&id=60237";
Request.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)";
Request.Accept = "application/xml,application/xhtml+xml,text/html;q=0.7,text/plain;q=0.8,image/png,*/*;q=0.3";
Request.AllowAutoRedirect = false;//запрещаем редиррект
HttpWebResponse response = (HttpWebResponse)Request.GetResponse();// получаем ответ
System.Threading.Thread.Sleep(7000);
} while (N<100);
Можете пожалуйста подсказать - как сделать, чтобы число повторений (N) выводилось в каком нибудь текстбоксе в программе?
Про сам вывод вроде знаю, а как перехватывать у другой функции пока не освоился
Последний раз редактировалось nikitoz; 10.04.2011 в 01:05.
|
|
|
14.04.2011, 07:19
|
#4
|
|
|
|
Рыцарь-защитник
|
 Регистрация: 14.01.2011
 Сообщений: 633
 Популярность: 28087
 Золото Zhyk.Ru: 1
 Сказал(а) спасибо: 90
Поблагодарили 717 раз(а) в 374 сообщениях
|
Re: Прикрепить Cookie.Container и другие параметры
если в текстбокс то textBox1.Text +="Выполнено: "+ Convert.ToString(N);
это будет обновлять, если надо чтобы дополняло с новой строки то
textBox1.Text=textBox1.Text + "Выполнено: "+ Convert.ToString(N)\n;
Вставь в do цикла {}
|
|
|
14.04.2011, 10:38
|
#5
|
|
|
|
Разведчик
|
 Регистрация: 07.09.2009
 Сообщений: 11
 Популярность: 32
 Сказал(а) спасибо: 8
Поблагодарили 11 раз(а) в 8 сообщениях
|
Re: Прикрепить Cookie.Container и другие параметры
Забыл отписать, что с этим более менее разобрался)
Все равно спасибо, теперь бьюсь с тем чтобы как то обеспечить многопоточность - а то программа виснет + как парсировать данные с сайта
|
|
|
14.04.2011, 16:57
|
#6
|
|
|
|
Рыцарь-защитник
|
 Регистрация: 14.01.2011
 Сообщений: 633
 Популярность: 28087
 Золото Zhyk.Ru: 1
 Сказал(а) спасибо: 90
Поблагодарили 717 раз(а) в 374 сообщениях
|
Re: Прикрепить Cookie.Container и другие параметры
|
|
|
15.04.2011, 10:53
|
#7
|
|
|
|
Разведчик
|
 Регистрация: 07.09.2009
 Сообщений: 11
 Популярность: 32
 Сказал(а) спасибо: 8
Поблагодарили 11 раз(а) в 8 сообщениях
|
Re: Прикрепить Cookie.Container и другие параметры
Правильно ли я сделал?
Сама функция
Код:
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
int N; N = 0;
do
{
label4.Text = ("Получено кредитов:" + N);
N = N + 1;
HttpWebRequest credit = (HttpWebRequest)WebRequest.Create("http://getwatchers.com/received3.php?id=60237&id2=60237");// Создаем запрос
CookieContainer dd = new CookieContainer();//создаем куки контейнер
credit.CookieContainer = dd;//получаем куки
credit.Method = "GET";
credit.Referer = "http://getwatchers.com/art_viewerw.php?username=Jrandvell&id=60237";
credit.UserAgent = "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19 (.NET CLR 3.5.30729)";
credit.Accept = "text";
credit.AllowAutoRedirect = false;//запрещаем редиррект
HttpWebResponse creditcol = (HttpWebResponse)credit.GetResponse();
string html = new StreamReader(creditcol.GetResponseStream(), Encoding.UTF8).ReadToEnd();
//парсируем данные
label1.Text = ("Заработано за все время:" + html);
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("http://getwatchers.com/out.php?id=60237&username=Jrandvell&id2=60237&vote=v10");// Создаем запрос
Request.UserAgent = "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19 (.NET CLR 3.5.30729)";
Request.Accept = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
Request.Referer = "http://getwatchers.com/art_viewerw.php?username=Jrandvell&id=60237";
Request.Method = "GET";
Request.AllowAutoRedirect = false;//запрещаем редиррект
HttpWebResponse response = (HttpWebResponse)Request.GetResponse();// получаем ответ
Thread.Sleep(6000);
} while (N < 10000);
}
А как потом вызвать эту функцию из
Код:
private void button1_Click(object sender, EventArgs e)
{
backgroundWorker1.RunWorkerAsync();
}
Но проблема в том что программа ругается на label4 "попытка доступа к элементу управления "label4" не из того потока, в котором он был создан". Где то видел какую то надстройку, чтобы программа не проверяла на то что потоки пересекаются.
Парсинг появилась идея осуществить через Regex, стоит ли?
Последний раз редактировалось nikitoz; 15.04.2011 в 11:10.
|
|
|
16.04.2011, 23:55
|
#8
|
|
|
|
Разведчик
|
 Регистрация: 07.09.2009
 Сообщений: 11
 Популярность: 32
 Сказал(а) спасибо: 8
Поблагодарили 11 раз(а) в 8 сообщениях
|
Re: Прикрепить Cookie.Container и другие параметры
В итоге все удалось разрешить с помощью
Код:
CheckForIllegalCrossThreadCalls = false;
Но все же хотелось бы услышать более грамотное решение вопросов.
И как можно пропарсить подобный код
Код:
<html><meta name="robots" content="noindex"><meta name="robots" content="nofollow">
<body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0" bgcolor="#EAEFF2"><span STYLE="font-family: Geneva, Arial, Helvetica, sans-serif;font-weight: bold;font-size: 18px;color: #0C8F1A;"><center>7952</center></span>
<br><br></body></html>
Нужно получить то что стоит на месте 7952
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 02:11.
|
 |