|
Основной форум Сюда все проблемы связанные с программированием. |
07.03.2006, 15:18
|
#1
|
|
Как передать переменные методом POST?
Подскажите, кто разобрался?
Если не лень, пожалуйста, приведите пример.
Суть:
вызвать somehost.ru/file.php , передав ему переменную методом POST
|
|
|
07.03.2006, 17:23
|
#2
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Я как раз сам копаюсь. Передать вроде получается, но нет реакции, с заголовками не разобрался. КАк получится выложу.
|
(Offline)
|
|
07.03.2006, 19:58
|
#3
|
AnyKey`щик
Регистрация: 04.03.2006
Сообщений: 18
Написано 0 полезных сообщений (для 0 пользователей)
|
ответ от сервера есть, но запрос он не получает у меня локальный стоит но запрос он получает только без POST тела и еще нужно указывать в заголовке размер тела.
AddHttpHeader(conn, 'Content-Length', '6');
|
(Offline)
|
|
08.03.2006, 09:16
|
#4
|
AnyKey`щик
Регистрация: 04.03.2006
Сообщений: 18
Написано 0 полезных сообщений (для 0 пользователей)
|
Такое ощущение что это в MP какая-то ошибка POST отказывается работать категорически я вчера 2 часа бился и пиче не вышло Запрос есть ответ сервака есть а POST тело как и не задовали. Может у кого есть что-нибудь для просмотра самих запросов проверьте он вообще POST запрос посылает?
|
(Offline)
|
|
09.03.2006, 11:39
|
#5
|
|
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
|
#6
|
AnyKey`щик
Регистрация: 09.03.2006
Сообщений: 5
Написано 0 полезных сообщений (для 0 пользователей)
|
В общем в логе сервера отображается запрос типа 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"
|
(Offline)
|
|
09.03.2006, 21:32
|
#7
|
AnyKey`щик
Регистрация: 04.03.2006
Сообщений: 18
Написано 0 полезных сообщений (для 0 пользователей)
|
127.0.0.1 - - [09/Mar/2006:22:23:21 +0500] "GET /concole.php HTTP/1.1" 200 22
Для испытаний был использован код Романа и всякие его варианты
Тип был POST либо мы не правелно пользуемся этой функцией( что мало вероятно при таком кол-ве народу ) или всетаки ошибка в MP
Я склоняюсь к варианту 2
|
(Offline)
|
|
10.03.2006, 09:30
|
#8
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Я проверял java код. Передается текстовая строка "POST", что соостветствует документации J2ME. Сегодня попробую на чистой яве. Вечером скину результат.
|
(Offline)
|
|
10.03.2006, 14:28
|
#9
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Нашел ошибку в системном классе H.class. Запрос проходит если подменить его своим. Надо писать авторам чтобы внесли исправление.
|
(Offline)
|
|
10.03.2006, 15:42
|
#10
|
AnyKey`щик
Регистрация: 09.03.2006
Сообщений: 5
Написано 0 полезных сообщений (для 0 пользователей)
|
Originally posted by pilgrim@10.3.2006, 16:28
Нашел ошибку в системном классе H.class. Запрос проходит если подменить его своим. Надо писать авторам чтобы внесли исправление.
|
Подскажи, чем заменить?
А то ведь не дождемся, пока выйдет новый релиз (((
Как и что патчить?
|
(Offline)
|
|
10.03.2006, 22:32
|
#11
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
В jar файле программы заменить файл H.class на прикрепленный.
|
(Offline)
|
|
11.03.2006, 06:50
|
#12
|
AnyKey`щик
Регистрация: 04.03.2006
Сообщений: 18
Написано 0 полезных сообщений (для 0 пользователей)
|
Ура C новым H.class все работает! Никаких проблем.
Спасибо pilgrim!
|
(Offline)
|
|
11.03.2006, 09:39
|
#13
|
Оптимист
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений (для 259 пользователей)
|
Для удобства можно прикрутить подмену в батфайл запуска эмулятора, тогда почти нормально работать получается
|
(Offline)
|
|
11.03.2006, 11:46
|
#14
|
AnyKey`щик
Регистрация: 09.03.2006
Сообщений: 5
Написано 0 полезных сообщений (для 0 пользователей)
|
Огромное спасибо! Попробую, должно заработать!
Ежели чего - надеюсь на дальнейшее сотрудничество )))
|
(Offline)
|
|
13.03.2006, 09:10
|
#15
|
AnyKey`щик
Регистрация: 09.03.2006
Сообщений: 5
Написано 0 полезных сообщений (для 0 пользователей)
|
Все замечательно! Спасибо!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:17.
|