forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Post-запросы (http://forum.boolean.name/showthread.php?t=745)

Роман 07.03.2006 15:18

Как передать переменные методом POST?

Подскажите, кто разобрался?
Если не лень, пожалуйста, приведите пример.

Суть:
вызвать somehost.ru/file.php , передав ему переменную методом POST

Piligrim 07.03.2006 17:23

Я как раз сам копаюсь. Передать вроде получается, но нет реакции, с заголовками не разобрался. КАк получится выложу.

DiS[IP] 07.03.2006 19:58

ответ от сервера есть, но запрос он не получает у меня локальный стоит но запрос он получает только без POST тела и еще нужно указывать в заголовке размер тела.
Код:

AddHttpHeader(conn, 'Content-Length', '6');

DiS[IP] 08.03.2006 09:16

Такое ощущение что это в MP какая-то ошибка POST отказывается работать категорически я вчера 2 часа бился и пиче не вышло :( Запрос есть ответ сервака есть а POST тело как и не задовали. Может у кого есть что-нибудь для просмотра самих запросов проверьте он вообще POST запрос посылает?

Guest 09.03.2006 11:39

Код:

program smssend;
var
conn: http;
htmlBody: string;
contentType: string;
label_id:integer;
begin
  if not openHttp(conn, 'http://nvu.ru/checkpost.php') then halt;
  setHttpMethod(conn, POST);
  addHttpBody(conn,'p=postbody');
  if sendHttpMessage(conn) <> 200 then halt;
  htmlBody := getHttpResponse(conn);
  closeHttp(conn);
  label_id := formAddString(htmlBody);
  showForm;
  delay(5000);
end.

вот вроде должно быть верно... но никак (((
про указание длины я тоже думал, но не помогает... может МП сам этот хедер отсылает... но он должен хот что-то послать (((
в скрипте на сервер - просто "print_r($_POST);"
отправляю из браузера - кажет, с мобилы - нет

Роман 09.03.2006 15:40

В общем в логе сервера отображается запрос типа GET (((
как ни крути.:
Код:

program smssend;
var
conn: http;
htmlBody: string;
contentType: string;
label_id:integer;
begin
  htmlBody:='p=postbody';
  if not openHttp(conn, 'http://nvu.ru/checkpost.php') then halt;
  setHttpMethod(conn, POST);
  addHttpHeader(conn, 'User-agent', 'SendSMS');
  addHttpHeader(conn, 'Content-type','application/x-www-form-urlencoded');
  addHttpHeader(conn, 'Content-Length', integertoString(length(htmlBody)+1));
  addHttpBody(conn,htmlBody);
  if sendHttpMessage(conn) <> 200 then halt;
  htmlBody := getHttpResponse(conn);
  closeHttp(conn);
  label_id := formAddString('used method '+POST+chr(10)+chr(13)+htmlBody);
  showForm;
  delay(5000);
end.

Код:

###.###.###.### nvu125.ultrahosting.ru - [09/Mar/2006:14:39:48 +0300] "GET /checkpost.php HTTP/1.1" 200 22 "-" "UNTRUSTED/1.0"

DiS[IP] 09.03.2006 21:32

Код:

127.0.0.1 - - [09/Mar/2006:22:23:21 +0500] "GET /concole.php HTTP/1.1" 200 22
Для испытаний был использован код Романа и всякие его варианты

Тип был POST либо мы не правелно пользуемся этой функцией( что мало вероятно при таком кол-ве народу :) ) или всетаки ошибка в MP

Я склоняюсь к варианту 2 :)

Piligrim 10.03.2006 09:30

Я проверял java код. Передается текстовая строка "POST", что соостветствует документации J2ME. Сегодня попробую на чистой яве. Вечером скину результат.

Piligrim 10.03.2006 14:28

Нашел ошибку в системном классе H.class. Запрос проходит если подменить его своим. Надо писать авторам чтобы внесли исправление.

Роман 10.03.2006 15:42

Цитата:

Originally posted by pilgrim@10.3.2006, 16:28
Нашел ошибку в системном классе H.class. Запрос проходит если подменить его своим. Надо писать авторам чтобы внесли исправление.

Подскажи, чем заменить?
А то ведь не дождемся, пока выйдет новый релиз (((
Как и что патчить?

Piligrim 10.03.2006 22:32

В jar файле программы заменить файл H.class на прикрепленный.

DiS[IP] 11.03.2006 06:50

Ура!!! :) C новым H.class все работает! Никаких проблем.

Спасибо pilgrim! ;)

Piligrim 11.03.2006 09:39

Для удобства можно прикрутить подмену в батфайл запуска эмулятора, тогда почти нормально работать получается :??

Роман 11.03.2006 11:46

Огромное спасибо! Попробую, должно заработать!
Ежели чего - надеюсь на дальнейшее сотрудничество )))

Роман 13.03.2006 09:10

Все замечательно! Спасибо!


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot