|
Вопрос # 4 901/ вопрос решён / |
|
Приветствую, уважаемые эксперты! как правильно сформировать запрос на сайт с php скриптом с помощью idHTTP. С этого сайта нужно получить результаты поиска - вот кусок из страницы
<div class="search">
<p align="center"><select name="tip" size="1">
<option selected value="all">Везде</option><option value="artist">Исполнитель</option>
<option value="track">Песня</option>
</select> <input type="text" name="query_search" maxlength="60" size="36">
<input type="submit" name="sub" value="Найти!"></p></div>
так я пытаюсь:
procedure TForm1.btn1Click(Sender: TObject);
var
data: TIdMultiPartFormDataStream;
begin
data := TIdMultiPartFormDataStream.Create;
try
// добавляем нужные параметры
data.AddFormField('tip', 'all');
data.AddFormField('query_search', 'ария');
lst1.Items.Text := IdHTP1.Post('http://best-mp3.ru/search.php', data);
finally
data.Free;
end;
end;
 |
Вопрос задал: eclipse (статус: Посетитель)
Вопрос отправлен: 9 января 2011, 20:03
Состояние вопроса: решён, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 4; последнее сообщение — 1 июля 2011, 13:49; участников в обсуждении: 3.
|
Ерёмин А.А. (статус: *Администратор), 9 января 2011, 21:03 [#1]:
Похоже на правду. Что не получается-то?
С ходу могу только посоветовать добавить кнопку (sub) в data, от неё многое может зависеть.
|
|
eclipse (статус: Посетитель), 9 января 2011, 21:23 [#2]:
попробовал добавить data.AddFormField('sub', 'Найти!');
нихрена!
|
|
Вадим К (статус: Академик), 10 января 2011, 00:42 [#3]:
Логично что не будет работать. Русские буквы прям так нельзя передавать, если сервер их не готов принимать. Их нужно во первых передать в правильной кодировке, а во вторых - закодированными. Хотя второе обычно решается выставлением нужных свойств у idHttp.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
eclipse (статус: Посетитель), 1 июля 2011, 13:49 [#4]:
Ошибка была в этом - data.AddFormField('tip', 'all');
Нужно было добавлять так - data.AddFormField('tip all');
И так далее в том же духе, просто через пробел.
|
1 июля 2011, 13:49: Статус вопроса изменён на решённый (изменил автор вопроса — eclipse)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|