Составить POST запрос

Статус
В этой теме нельзя размещать новые ответы.

Digwnews

Читатель
Заблокирован
Регистрация
1 Мар 2010
Сообщения
127
Реакции
23
  • Автор темы
  • Заблокирован
  • #1
запрос отправляй на Для просмотра ссылки Войди или Зарегистрируйся. Составить и отправить его ты можешь с помощью библиотеки curl
 
  • Автор темы
  • Заблокирован
  • #3
возможно вы не те, или не все данные передаете ....
возьмите в браузере "вручную" отправьте пост и через софтину посмотрите какая инфа отправляется на сервер в пост запросе, ну и попытайтесь повторить аналогичный запрос через curl

вот софтина с с помощью которой можно посмотреть какие данные идут на серв .. может не самая лучшая но работает на ура
Для просмотра ссылки Войди или Зарегистрируйся
 
Я немного ошибся, запрос надо отправлять на Для просмотра ссылки Войди или Зарегистрируйся.
В форме есть несколько скрытых полей, возможно их тоже нужно заполнять. Выложи свой скрипт я посмотрю
 
В обоих случаях запрос отправляеться на:


при реги отправляются след данные (ИМЯ_ПОЛЯ=ЗНАЧЕНИЕ:(
modlink = members (скорее всего скрытое поле необходимо делать выпарску, но скорей всего поле постоянной)
action = add (скорее всего скрытое поле необходимо делать выпарску, но скорей всего поле постоянной)
create = 1 (скорее всего скрытое поле необходимо делать выпарску, но скорей всего поле постоянной)

username = LOGIN (видимое поле, заполнено в ручную)
password = PASS1 (видимое поле, заполнено в ручную)
password2 = PASS1 (видимое поле, заполнено в ручную)
email = EMAIL@EMAIL.NET (видимое поле, заполнено в ручную)
firstname = NAME (видимое поле, заполнено в ручную)
lastname = SURNAME (видимое поле, заполнено в ручную)
icq = ICQ (видимое поле, заполнено в ручную)
country = ru (видимое поле выпадающее, заполнено в ручную)
photo = (поля выбора файла для загрузки)
forum_sign = SIGNATURE (видимое поле, заполнено в ручную)

protected_field = 1977 (скорее всего скрытое поле необходимо делать выпарску)


так же надо учесть что тип формы являеться multipart/form-data. и если будеш использовать сокеты, то там свое образная структура отправки данных, а если на курлах то как обычно (насколько я помню)
 
Вообще лучше подходить к вапросу в корне а не перебирать законченые примеры которые вам предлагают
давайте разберемся вместе
у вас есть страничка на которой заполняются поля формы и кудато отправляются POST методом
Если посмотреть код этой странички то вы в подавляющем большинстве случаев несомненно увидите такую строчку как <form action='некий url' method='POST' ..... >(некоторый код ...)</form>
чтобы изучить все переменные, какие передаются нам нужно все лишь навсего создать скрипт, который будет отображать все переменные POST которые ему передаются
и так
1. Создайте скрипт "post.php"
PHP:
<?
echo "<pre>";
priint_r($_POST);
echo "</pre>";
?>
2. Сохраните вебстраничку, на которой вы заполняете поля для отправки
3. Найдите в ней <form action='%some URL%' method='POST' и перевправте %some URL% на post.php и сохраните ее
4. Ну вот собственно и все ... заполняйте поля и выполняйте запрос и вам высветятся названия полей и их значения

Тут я носом вас не тыкнул в конкретный пример, потому что думаю что далее вы разберетесь сами, что несомненно пойдет вам на пользу
 
  • Автор темы
  • Заблокирован
  • #8
Вообще лучше подходить к вапросу в корне а не перебирать законченые примеры которые вам предлагают
давайте разберемся вместе
у вас есть страничка на которой заполняются поля формы и кудато отправляются POST методом
Если посмотреть код этой странички то вы в подавляющем большинстве случаев несомненно увидите такую строчку как <form action='некий url' method='POST' ..... >(некоторый код ...)</form>
чтобы изучить все переменные, какие передаются нам нужно все лишь навсего создать скрипт, который будет отображать все переменные POST которые ему передаются
и так
1. Создайте скрипт "post.php"
PHP:
<?
echo "<pre>";
priint_r($_POST);
echo "</pre>";
?>
2. Сохраните вебстраничку, на которой вы заполняете поля для отправки
3. Найдите в ней <form action='%some URL%' method='POST' и перевправте %some URL% на post.php и сохраните ее
4. Ну вот собственно и все ... заполняйте поля и выполняйте запрос и вам высветятся названия полей и их значения
Тут я носом вас не тыкнул в конкретный пример, потому что думаю что далее вы разберетесь сами, что несомненно пойдет вам на пользу
И зачем? Не легче ли воспользоваться, например, плагином httpfox для firefox?


Вот мой скрипт:
PHP:
<?php
$post='modlink=members&action=add&create=1&username=newlog11&password=pass&password2=pass&email=jdhy@gmail.com&firstname=Alex&lastname=ddd&icq=&country=ru&photo=&forum_sign=SIGNATURE&protected_field=1977
';
$url = 'http://www.bazahobby.ru/pages.php';
$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_REFERER, 'http://www.bazahobby.ru/members?action=add');
	
	curl_setopt($ch, CURLOPT_POST, TRUE);
	curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
	$data = curl_exec($ch);
	$error = curl_error($ch);
	curl_close($ch);
	echo $data;
?>


А не.. Скрипт работает)))
Всем спасибо.

Добавлено через 11 минут
Ещё проблема.
Есть .
Всё тоже самое, как и на прошлом сайте, но есть проверка на включённый яваскрипт в браузере. Как с курлом обойти защиту?
 
  • Заблокирован
  • #9
Жаба-скрипт скорее всего высчитывает скрытое поле формы и всё.
Отправь с ява-скриптом и без, и сразу поймёшь разницу, другого там особо не придумать.
Ещё могу посоветовать не ломать с курлом мозг и использовать класс Snoopy, крутая штука
UPD
Обрати внимание на
Код:
document.write ('<' + 'input type="hidden" name="tp_fld" value="" />');
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху