Помогите правильно написать Post-запрос

progua

Client
Регистрация
01.01.2012
Сообщения
186
Благодарностей
8
Баллы
18
Здравствуйте.
Помогите разобраться с post-запросом. С пост/гет запросами не работал, поэтому мне трудно разобраться, даже после просмотра разного видео.
Итак, есть сайт https://med-service.com.ua/blogs/ . На нем есть раздел Блоги.
Моя задача авторизироваться на сайте(регистрацию прошел раньше и у меня есть логин и пароль) и вставить статью в блог.
Авторизация проходит без проблем Post-запросом на странице
46967

Дальше просто делаю get-запрос, чтобы убедится что авторизация успешная.
Потом мне надо создать Post-запрос на добавлении статьи.
Добавляю для начала статью вручную
46970

После нажатия опубликовать, вот что пишет пост-запрос
46972


46973


Данных запроса большое количество, как мне знать какие еще нужны кроме POST_TITLE, POST_MESSAGE ?
ЧТо это за цифра 1159617161361 ? Откуда ее брать? Обязательно ли она?
КАК ПРАВИЛЬНО СФОРМИРОВАТЬ POST-запрос на добавлении статьи?
ПС. Просто скопировать эти данные запроса и закинуть в POST-запрос не работает. Подскажите куда мне копать?
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 765
Благодарностей
2 407
Баллы
113
Вы просто скопировали, вставили, отправили запрос - и ничего не работает?
Пожалуйста, предоставьте скриншоты всех вкладок кубика, который Вы используете с данными, которые Вы используете.
Что-то мне подсказывает, что Вы явно не отправляете запрос с типом данных мультипарт - из-за чего не работает (иначе, если бы Вы скопировали данные и заголовки, отправили запрос - он бы сработал однозначно).
 
  • Спасибо
Реакции: progua

progua

Client
Регистрация
01.01.2012
Сообщения
186
Благодарностей
8
Баллы
18
47006

На вкладке Дополнительно стоит галочка Использовать CookieContainer
 

progua

Client
Регистрация
01.01.2012
Сообщения
186
Благодарностей
8
Баллы
18
Мне просто интересно как передать эти данные. Просто скопировать, и вместо мне нужных значений передать то, что в переменных?
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 765
Благодарностей
2 407
Баллы
113
Для генерации 2481617828801 можно использовать примерно такой код:
Код:
return string.Format(@"{0}",((Int64)(((DateTime.Now.ToUniversalTime() - new DateTime(1970,1,1))).TotalMilliseconds+0.5)));
Дальше нужно каждый блок сформировать. Сделать можно это примерно таким кодом (где-то когда-то кто-то размещал его здесь на форуме):
Код:
string sBoundary = string.Format(@"{0}",((Int64)(((DateTime.Now.ToUniversalTime() - new DateTime(1970,1,1))).TotalMilliseconds+0.5)));

// Объявление
Func<string, string, string, string> multiFormDataFile = delegate(string name, string value, string boundary) {
  string output = string.Format("------------------------{0}\r\n", boundary);
  output += string.Format("Content-Disposition: form-data; name=\"{0}\"\r\n\r\n", name);
  output += string.Format("{0}\r\n", value);
  return output;
};

// Вызов - в переменной temp у нас значения для поля sessid. Функцию вызываем для каждого поля...
string temp = multiFormDataFile("sessid", "aaAAaaAAaaaDDss",sBoundary );
return temp;
Дальше когда у нас сформированы данные для всех полей формы, мы должны соединить их (соблюдая переносы строк).
Если учитывать код, который размещен выше - могло получиться что-то такое:
Код:
string temp = multiFormDataFile("sessid", "aaAAaaAAaaaDDss",sBoundary );
List<string> postData = new List<string>(); // список для хранения данных каждого из полей
postData.Add(temp);  // данные полей добавляем в список
postData.Add(temp);
postData.Add(temp);
return string.Join(string.Empty, postData); // Собственно сформированные данные для запроса соединим в одну строку
А когда у нас уже сформированы данные - тогда можно уже отправить POST запрос.

Мне просто интересно как передать эти данные. Просто скопировать, и вместо мне нужных значений передать то, что в переменных?
Да, вместо нужных значений подставить данные из переменных.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)