powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Post использую Curl
13 сообщений из 13, страница 1 из 1
Post использую Curl
    #32522984
roman2311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача:
Нужно отправить SMS с через PHP.

Что известно:

Страница для отправки "http://sms.tele2.lv/cgi-bin/send_sm_t2.cgi". На этот адрес нужно послать POST запрос.

POST должен содержать следующие поля:

"url"="http://www.editorial.ru.tele2.lv/?page=t2i_sendsms";

"language"="ru";

"msisdn'="6890142";

"text"="How R U?";

Если создать html со следующим содержанием, то все работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
<FORM name="sendsms" action="http://sms.tele2.lv/cgi-bin/send_sm_t2.cgi" method=post>
<input type=hidden name="url" value="http://www.editorial.ru.tele2.lv/?page=t2i_sendsms">
<input type=hidden name="language" value="ru">
<input type="text" name="msisdn" maxlength="7" size="7" class="bodyInput" value="6890142">
<textarea COLS="40" ROWS="4" class="field" name="text" </textarea>
<INPUT type=submit value=Отправить height='540'>

Вот PHP скрипт:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
$pf['url'] = "http://www.editorial.ru.tele2.lv/?page=t2i_sendsms";
$pf['language'] = "ru";
$pf['msisdn'] = "6890142";
$pf['text'] = "How R U?";
$ch = curl_init("http://sms.tele2.lv/cgi-bin/send_sm_t2.cgi");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_VERBOSE,  1 );
curl_setopt($ch, CURLOPT_HEADER,  1 );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1 ); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,  1 );
curl_setopt($ch, CURLOPT_POSTFIELDS, $pf);
echo curl_exec($ch); 

Результат выполнения скрипта PHP:

HTTP/1.1 100 Continue HTTP/1.1 200 OK Date: Tue, 18 May 2004 16:57:27 GMT Server: Apache/1.3.0 (Unix) Connection: close Transfer-Encoding: chunked Content-Type: text/html Bad configuration, the query string is not from FORM
...
Рейтинг: 0 / 0
Post использую Curl
    #32523331
roman2311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неужели никто Curl не использовал?
...
Рейтинг: 0 / 0
Post использую Curl
    #32524111
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
curl используют, просто разбираться с этой конкретной формой нет желаения
...
Рейтинг: 0 / 0
Post использую Curl
    #32524161
roman2311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди, ну помогите мне пожалуйста. Я это для своей девушки делаю. Мне это очень надо. Просто сбросьте свои примеры если есть. Я буду очень благодарен .

Все проходит нормально, но ответ содержит

Content-Type: text/html Bad configuration, the query string is not from FORM
...
Рейтинг: 0 / 0
Post использую Curl
    #32524407
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
куча примеров использования cURL есть на http://php.net/curl - обрати внимание как там формируется строка с данными при пост-запросе.
Смотри по ссылке первый и второй комментарии
...
Рейтинг: 0 / 0
Post использую Curl
    #32524614
roman2311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я еще раз попробовал все примеры, ошибка стала немного другой:

HTTP/1.1 200 OK Date: Wed, 19 May 2004 13:35:23 GMT Server: Apache/1.3.0 (Unix) Connection: close Transfer-Encoding: chunked Content-Type: text/html Bad configuration, the query string is not from FORM


А у меня еще один вопрос:
Как получить весь текст запроса?

Т.е. я хочу такой скрипт, который бы выводил все, что послал ему браузер:
Content-length: xxx
Content-type: text/xml
host: yourhost
accept: */*
accept-encoding: gzip, deflate
accept-language: en-us
connection: close; Keep-Alive
Причем мне нужны не отдельные поля, которые можно взять в Referenses, а весь текст запроса.

Тогда я бы через браузер обратился к этому скрипту и узнал все данные, которые передает браузер. А потом вызвал бы CURLOPT_CUSTOMREQUEST

Я понять не могу, что там у них за защита такая на серваке стоит, что я не могу отправить данные из скрипта, а через браузер могу?
...
Рейтинг: 0 / 0
Post использую Curl
    #32524628
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
roman2311 , эту ошибку выдаёт скрипт на сервере (видимо защита от тебе подобных ;) ). На основании каких данных она это делает - известно только вэб-программисту сайта, но ты можешь попробовать подсмотреть отправляемые браузером заголовки и попытаться полностью эмулировать его работу, для этого можно, к примеру, воспользоваться программкой HttpWatch
...
Рейтинг: 0 / 0
Post использую Curl
    #32524633
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
[q]Т.е. я хочу такой скрипт, который бы выводил все, что послал ему браузер[/q]это можешь посмотреть, например, при помощи GetAllHeaders
...
Рейтинг: 0 / 0
Post использую Curl
    #32524727
roman2311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*
эту ошибку выдаёт скрипт на сервере (видимо защита от тебе подобных ;) ).

Обычно эта защита выглядит по другому. Используется какое - нибудь графическое поле или еще как-то. А тут с локального файла htm находящегося на винте прекрасно отправляет, а со скрипта нет.

Спасибо за советы с HttpWatch и GetAllHeaders. Буду пробовать.
...
Рейтинг: 0 / 0
Post использую Curl
    #32524910
roman2311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за помощь. У меня все получилось наконец - то.

Сделал вот такой скрипт, который выводит все заголовки и все поля POST:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<?
$headers = getallheaders();
   while (list ($header, $value) = each ($headers)) 
{echo "$header: $value<br>\n";}
echo "<hr>";
while (list ($header, $value) = each ($_POST) )
   {echo "$header=$value<br>\n";}
?>

К этому скрипту я обратился из браузера и получил ответ.

После этого написал скрипт отправки по новой, добился от него того, чтобы он посылал то-же что и эксплорер и все пошло !!!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Post использую Curl
    #33688960
KATERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как выглядит этот PHP скрипт теперь?
...
Рейтинг: 0 / 0
Post использую Curl
    #33694310
бруклин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
та же самая проблема, но с другим хостом, причем не сразу выяснил, что 100 сontinue имеется.
Как в случае с curl формировать код?
...
Рейтинг: 0 / 0
Post использую Curl
    #33694410
бруклин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и что более непонятно getallheaders не поддерживается 4-ым php
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Post использую Curl
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]