Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2010, 19:40   #1
codermoder
Пользователь
 
Регистрация: 22.06.2010
Сообщений: 48
Вопрос Проблема с idhttp.post



В общем пытаюсь отправить сообщение на блог tut.by с помощью idhttp.post.
делаю так:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
PostData, ResponseData : TStringList;
begin
PostData := TStringList.Create;
try
ResponseData := TStringList.Create;
PostData.Add('author='+edit1.Text);
PostData.Add('comment='+edit2.Text);
PostData.Add('submit=Комментировать');
PostData.Add('comment_post_ID=11');
ResponseData.Text := UTF8Decode(IdHTTP1.Post('http://названиеблога.blog.tut.by/2010/11/08/статья/', PostData));
if Pos(edit2.Text,ResponseData.Text)>0 then
ShowMessage('получилось!')
else
ShowMessage('не получилось :(');
finally
PostData.free;
ResponseData.free;
end;
end;
выскакивает ошибка 404, что не найдено страницы (но она есть!)
пробую
Код:
Memo1.Text := UTF8Decode(IdHTTP1.GET('http://названиеблога.blog.tut.by/2010/11/08/статья/'));
Страница загружается в memo1...
в чем проблема?
codermoder вне форума Ответить с цитированием
Старый 08.11.2010, 22:10   #2
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

Если в URL кириллица, то её нужно кодировать. UrlEncode.
Viteef вне форума Ответить с цитированием
Старый 09.11.2010, 16:20   #3
codermoder
Пользователь
 
Регистрация: 22.06.2010
Сообщений: 48
По умолчанию

нет в URL латиница
заметил, что если удалить параметр
Код:
PostData.Add('author='+edit1.Text);
то ошибки нет, но комментарий все же не оставляется.. что не так?
через сниффер смотрел, post
Код:
author=qwe
email=
comment=123123123
submit=Комментировать
comment_post_ID=12
Как правильно отправить post запрос?
codermoder вне форума Ответить с цитированием
Старый 09.11.2010, 18:36   #4
codermoder
Пользователь
 
Регистрация: 22.06.2010
Сообщений: 48
По умолчанию

все решил проблему, спасибо за помощь
codermoder вне форума Ответить с цитированием
Старый 09.11.2010, 18:37   #5
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

Передавайте referrer, возможно тогда пропустит.
Viteef вне форума Ответить с цитированием
Старый 09.11.2010, 18:38   #6
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

В чем была проблема?
Viteef вне форума Ответить с цитированием
Старый 09.11.2010, 21:53   #7
codermoder
Пользователь
 
Регистрация: 22.06.2010
Сообщений: 48
По умолчанию

Viteef
Присмотревшись к
Код:
PostData.Add('comment_post_ID=11');
я понял, что нужно пост отправлять на php скрипт, а comment_post_ID=11 это порядковый номер поста на блоге.
как-то так
теперь еще 1 вопрос,
при передаче
Код:
PostData.Add('comment=tyt русская буква');
передается только "tyt", как мне сделать, чтобы передавалась кириллица ?
codermoder вне форума Ответить с цитированием
Старый 09.11.2010, 21:56   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

перечитаем второй пост, и найдем там ответ.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.11.2010, 15:17   #9
codermoder
Пользователь
 
Регистрация: 22.06.2010
Сообщений: 48
По умолчанию

Пепел Феникса,
Я написал в 3 посте, в URL латиница, а вот в
Код:
PostData.Add('comment=сообщение');
есть русские буквы, вот в чем проблема у меня
codermoder вне форума Ответить с цитированием
Старый 10.11.2010, 15:58   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

однако решение тоже самое!
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с IdHTTP.Post() ! $T@LKER Работа с сетью в Delphi 30 03.09.2010 17:03
idHTTP post nix01d Работа с сетью в Delphi 7 06.07.2010 23:52
POST idHTTP Pasha_Sh Работа с сетью в Delphi 7 11.06.2010 09:00
IdHTTP.POST Проблема с кодировкой Could Работа с сетью в Delphi 4 13.05.2010 19:27
idHTTP GET и POST запросы FAiver Работа с сетью в Delphi 64 15.05.2008 13:22