Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Ответ
 
Опции темы
Старый 24.01.2012, 17:16   #1
 Рыцарь-лейтенант
Аватар для xFroLx
 
xFroLx блестящий пример для подражанияxFroLx блестящий пример для подражанияxFroLx блестящий пример для подражанияxFroLx блестящий пример для подражанияxFroLx блестящий пример для подражанияxFroLx блестящий пример для подражанияxFroLx блестящий пример для подражанияxFroLx блестящий пример для подражанияxFroLx блестящий пример для подражанияxFroLx блестящий пример для подражанияxFroLx блестящий пример для подражания
Регистрация: 21.06.2010
Сообщений: 425
Популярность: 1817
Сказал(а) спасибо: 247
Поблагодарили 566 раз(а) в 147 сообщениях
Отправить сообщение для xFroLx с помощью ICQ
 
Smile Упрошенная отправка пакетов и парсинг

Для новичков в программировании, ток прошу не засоряйте форум беспонтовыми прогами)))

Отправка запросов ПОСТ

Код:
   public string send_POST(string url, string post)
        {
            string Response_POST = "", StrNewValue;
            try
            {
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                req.Method = "POST";
                if (checkBox1.Checked)
                {
                    req.Proxy = new WebProxy("127.0.0.1", 8888);
                }
                req.ContentType = "application/x-www-form-urlencoded";
                StrNewValue = post;
                req.ContentLength = StrNewValue.Length;
                StreamWriter Soup = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII);
                Soup.Write(StrNewValue);
                Soup.Close();
                StreamReader stin3 = new StreamReader(req.GetResponse().GetResponseStream());
                Response_POST = stin3.ReadToEnd();
                stin3.Close();
            }
            catch { }
            return Response_POST;
        }
ГЕТ

Код:
 public string send_GET(string url)
        {
            string str5 = "";
            try
            {
                HttpWebRequest request5 = (HttpWebRequest)WebRequest.Create(url);
                if (checkBox1.Checked)
                {
                    request5.Proxy = new WebProxy("127.0.0.1", 8888);
                }
                HttpWebResponse response1 = (HttpWebResponse)request5.GetResponse();
                str5 = new StreamReader(response1.GetResponseStream(), Encoding.UTF8).ReadToEnd();
            }
            catch { }
            return str5;
        }
Парсер

Код:
        public string parse(string all, string l, string r, string razd)
        {
            string res = "";
            Regex g5 = new Regex(l + "(.*?)" + r);


            if (g5.IsMatch(all))
            {
                MatchCollection matches = g5.Matches(all);

                foreach (Match y in matches) { res += y.Groups[1].ToString() + razd; }
            }
            return res;
        }
Пример!!!

Создаем новый проект с кнопкой и чекбоксом

[Ссылки могут видеть только зарегистрированные пользователи. ]

Жмем два раза на кнопку

Пишем там это

Код:
string otvet = send_POST("http://109.234.157.94/prison/universal.php?getInfo", "key=091f3644b5dcf9bc0e3b1ead2f1d12c1&sig=6d7c635916fc0df00cafaa95e7ba7e9e&method=getInfo&user=63435282");
            string avtoritet = parse(otvet, "<rating>", "</rating>", "");
            MessageBox.Show("Авторитет: "+avtoritet);

[Ссылки могут видеть только зарегистрированные пользователи. ]



Код целиком

Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Web;
using System.Threading;
using System.Text.RegularExpressions;
namespace Threads
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string otvet = send_POST("http://109.234.157.94/prison/universal.php?getInfo", "key=091f3644b5dcf9bc0e3b1ead2f1d12c1&sig=6d7c635916fc0df00cafaa95e7ba7e9e&method=getInfo&user=63435282");
            string avtoritet = parse(otvet, "<rating>", "</rating>", "");
            MessageBox.Show("Авторитет: "+avtoritet);
        }

        public string send_POST(string url, string post)
        {
            string Response_POST = "", StrNewValue;
            try
            {
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                req.Method = "POST";
                if (checkBox1.Checked)
                {
                    req.Proxy = new WebProxy("127.0.0.1", 8888);
                }
                req.ContentType = "application/x-www-form-urlencoded";
                StrNewValue = post;
                req.ContentLength = StrNewValue.Length;
                StreamWriter Soup = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII);
                Soup.Write(StrNewValue);
                Soup.Close();
                StreamReader stin3 = new StreamReader(req.GetResponse().GetResponseStream());
                Response_POST = stin3.ReadToEnd();
                stin3.Close();
            }
            catch { }
            return Response_POST;
        }

        public string send_GET(string url)
        {
            string str5 = "";
            try
            {
                HttpWebRequest request5 = (HttpWebRequest)WebRequest.Create(url);
                if (checkBox1.Checked)
                {
                    request5.Proxy = new WebProxy("127.0.0.1", 8888);
                }
                HttpWebResponse response1 = (HttpWebResponse)request5.GetResponse();
                str5 = new StreamReader(response1.GetResponseStream(), Encoding.UTF8).ReadToEnd();
            }
            catch { }
            return str5;
        }

        public string parse(string all, string l, string r, string razd)
        {
            string res = "";
            Regex g5 = new Regex(l + "(.*?)" + r);


            if (g5.IsMatch(all))
            {
                MatchCollection matches = g5.Matches(all);

                foreach (Match y in matches) { res += y.Groups[1].ToString() + razd; }
            }
            return res;
        }
    }
}

Последний раз редактировалось xFroLx; 24.01.2012 в 17:33.
  Ответить с цитированием
6 пользователя(ей) сказали cпасибо:
*FuckeR* (15.02.2012), crazy613ii (07.03.2012), крайслер (23.11.2012), Gamer1912 (26.01.2012), OrBiT_DaRk (27.04.2012), Sleepy_Master (26.01.2012)
Старый 26.01.2012, 17:59   #2
 Разведчик
Аватар для Sleepy_Master
 
Sleepy_Master никому не известный тип
Регистрация: 14.12.2010
Сообщений: 44
Популярность: 17
Сказал(а) спасибо: 17
Поблагодарили 73 раз(а) в 70 сообщениях
Отправить сообщение для Sleepy_Master с помощью ICQ
 
По умолчанию Re: Упрошенная отправка пакетов и парсинг

Было бы совсем замечательно пояснение наиболее заковыристых моментов , т.к. мне как новичку мало понятно , к примеру такой момент как
if (g5.IsMatch(all))
{
MatchCollection matches = g5.Matches(all);

foreach (Match y in matches) { res += y.Groups[1].ToString() + razd; }
}

или

string otvet = send_POST("http://109.234.157.94/prison/universal.php?getInfo", "key=091f3644b5dcf9bc0e3b1ead2f1d12c1&sig=6d7c6359 16fc0df00cafaa95e7ba7e9e&method=getInfo&user=63435 282");
string avtoritet = parse(otvet, "<rating>", "</rating>", "");
MessageBox.Show("Авторитет: "+avtoritet);


Рас уж для новичков , то было бы не плохо с пояснениями , а не как для мартышек , только копи-пастить и все )
Ещё бы было очень полезно какую нибудь инфу про try-catch для чего эти методы используются в данной ситуации , только на более понятном человеческом языке. Т.к. в нете очень заумно написано и получается выполнение неосмысленных действий....

Добавлено через 2 минуты
И ещё на шарпе код будет выглядеть так же ?
________________
Программист - это человек превращающий кофе в программный код.(с)

Последний раз редактировалось Sleepy_Master; 26.01.2012 в 18:02. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 26.01.2012, 21:12   #3
Заблокирован
 Старший сержант
Аватар для Gamer1912
 
Gamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небе
Регистрация: 31.01.2011
Сообщений: 182
Популярность: 887
Золото Zhyk.Ru: 100
Сказал(а) спасибо: 136
Поблагодарили 494 раз(а) в 220 сообщениях
Отправить сообщение для Gamer1912 с помощью Skype™
 
По умолчанию Re: Упрошенная отправка пакетов и парсинг

Цитата:
Сообщение от nastya05Посмотреть сообщение
Обьясни еще пожалуйста что такое response_POST ?

Код:
response, Существительное
[rɪsˈpɔns]
ответ
response post - ответ от post-запроса

P.S. Совет: учи английский, тогда и начнешь понимать.


Sleepy_Master, Это и есть C#, просто не в том разделе тема.

Последний раз редактировалось Gamer1912; 26.01.2012 в 21:15.
  Ответить с цитированием
Старый 18.03.2012, 19:26   #4
 Разведчик
Аватар для siegKaLaSh
 
siegKaLaSh никому не известный тип
Регистрация: 01.03.2012
Сообщений: 5
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Упрошенная отправка пакетов и парсинг

Подскажите пожалуйста, как можно сохранить всю страницу в массив? В консольной программе C++.

Последний раз редактировалось siegKaLaSh; 25.03.2012 в 16:48.
  Ответить с цитированием
Старый 05.05.2012, 12:30   #5
Заблокирован
 Разведчик
Аватар для Bambu4a_Esc
 
Bambu4a_Esc скоро будет известенBambu4a_Esc скоро будет известенBambu4a_Esc скоро будет известен
Регистрация: 29.03.2012
Сообщений: 48
Популярность: 290
Сказал(а) спасибо: 7
Поблагодарили 18 раз(а) в 11 сообщениях
Отправить сообщение для Bambu4a_Esc с помощью Skype™
 
По умолчанию Re: Упрошенная отправка пакетов и парсинг

Цитата:
Сообщение от siegKaLaShПосмотреть сообщение
Подскажите пожалуйста, как можно сохранить всю страницу в массив? В консольной программе C++.

функции read, write
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Отправка пакетов в L2phx BanQui Общение и обсуждение Aion 10 22.07.2011 23:26
Парсинг. WiLLi-WindowS С/С++ 1 01.06.2011 18:07
Отправка пакетов bossik Rising Force Online 8 10.09.2008 15:08

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 21:31.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net