Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> idhttp, русская строка get конвертировать 
V
    Опции темы
TrillerMan
Дата 25.11.2007, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 20.12.2006

Репутация: нет
Всего: нет



Здрасти всем.

Есть строка вида 
Код

http://www.zaycev.net/download.php?id=167978&ass=Л. Кучина_-_Девочка уркоганная.mp3&text_check=eb0bf576c15a9eaded913d1778029b9f&ok=%D1%EA%E0%F7%E0%F2%FC


Думал,что idhttp её на автомате преобразует,как браузер преобразовывает,оказалось нет.
Как преобразовать эту строку для IdHttp ? Какая функция ?Какая кодировка ?

Гуглил,но нахожу много мусора,дельное не нашёл ((
PM MAIL   Вверх
aktuba
Дата 25.11.2007, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Код

IdHTTP.HTTPOptions := IdHTTPOptions + [hoForceEncodeParams];



--------------------
user posted image
PM MAIL WWW Skype   Вверх
TrillerMan
Дата 25.11.2007, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 20.12.2006

Репутация: нет
Всего: нет



Делаю вот так
Код

procedure TForm1.Button1Click(Sender: TObject);
begin
IdHTTP1.HTTPOptions := IdHTTP1.HTTPOptions + [hoForceEncodeParams];
page1:= IdHTTP1.Get('http://www.zaycev.net/download.php?id=167985&ass=Л. Кучина_-_Жулик.mp3&text_check=77111ff81ec90eff3ebac982b1c3180f&ok=%D1%EA%E0%F7%E0%F2%FC');

всё равно вылетает ошибка,пишет "<html>."

да это значение [hoForceEncodeParams]  и по умолчанию установлено


Как перекодировать строку в нужную мне?

Это сообщение отредактировал(а) TrillerMan - 25.11.2007, 22:43
PM MAIL   Вверх
aktuba
Дата 26.11.2007, 05:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 9
Всего: 38



Цитата(TrillerMan @  25.11.2007,  19:06 Найти цитируемый пост)
http://www.zaycev.net/download.php?id=167978&ass=Л. Кучина_-_Девочка уркоганная.mp3&text_check=eb0bf576c15a9eaded913d1778029b9f&ok=%D1%EA%E0%F7%E0%F2%FC


Цитата(TrillerMan @  25.11.2007,  22:43 Найти цитируемый пост)
http://www.zaycev.net/download.php?id=167985&ass=Л. Кучина_-_Жулик.mp3&text_check=77111ff81ec90eff3ebac982b1c3180f&ok=%D1%EA%E0%F7%E0%F2%FC

Что-то мне подсказывает, что напрямую скачать файл не получиться ;) Сравни ссылки - поля text_check различаются и, скорее всего, генерируются при заходе на страницу. А значит, чтобы скачать этот файл, надо сначала загрузить страницу, выдрать ссылку + куки и только после этого, с выдранными куками идти за файлом...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
TrillerMan
Дата 26.11.2007, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 20.12.2006

Репутация: нет
Всего: нет



Цитата(aktuba @  26.11.2007,  05:11 Найти цитируемый пост)
Что-то мне подсказывает, что напрямую скачать файл не получиться ;) Сравни ссылки - поля text_check различаются и, скорее всего, генерируются при заходе на страницу. А значит, чтобы скачать этот файл, надо сначала загрузить страницу, выдрать ссылку + куки и только после этого, с выдранными куками идти за файлом... 


ну я всё это и делаю )) А ты попробуй перейди по ссылке,у меня всё и без куков работает.

Да вопрос в том,как строку то перекодировать? А то вылетает ошибка,как я выше описал.Как руками её перекодировать? Какая счас у неё кодировка и в какую кодировку мне надо её привести? Может есть функция?
PM MAIL   Вверх
Snowy
Дата 26.11.2007, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Код
function EncodeUrl(url:string):string;
var
  i: integer;
begin
  result:='';
  for i:=1 to Length(url) do
    if (url[i] < #127) and (url[i] > #32) then result:=result+url[i]
    else result:=result + '%' + IntToHex(ord(url[i]),2);
end;

PM MAIL   Вверх
TrillerMan
Дата 27.11.2007, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 20.12.2006

Репутация: нет
Всего: нет



 smile  Биг сенкс to Snowy,работает на ура. smile 
PM MAIL   Вверх
creas0ft
Дата 27.1.2008, 01:36 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 5.8.2006
Где: Саранск

Репутация: 2
Всего: 2



httpencode - httpdecode из httpapp.pas
--------------------
Форум программистов уклонистов в сторону сео-шмео
PM MAIL WWW ICQ   Вверх
lukash256
Дата 27.1.2008, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 107
Регистрация: 23.7.2007
Где: Гомель/Беларусь

Репутация: нет
Всего: нет



function  translate(s:string):string;
var i:word;            tmp:string;
begin
for i := 1 to length(s)-1  do
if (ord(s[i])=208) and (ord(s[i+1])=129) then
    begin
      insert('Ё',s,pos(s[i]+s[i+1],s));
      delete(s,pos(s[i]+s[i+1],s)+1,2);
    end else
if (ord(s[i])=209) and (ord(s[i+1])=145) then
    begin
      insert('ё',s,pos(s[i]+s[i+1],s));
      delete(s,pos(s[i]+s[i+1],s)+1,2);
    end else
if (ord(s[i])=208) then begin
                             insert(chr(ord(s[i+1])+48),s,pos(s[i]+s[i+1],s));
                             delete(s,pos(s[i]+s[i+1],s)+1,2);
                        end else
if (ord(s[i])=209) then begin
                             insert(chr(ord(s[i+1])+112),s,pos(s[i]+s[i+1],s));
                             delete(s,pos(s[i]+s[i+1],s)+1,2);
                        end;
  translate:=s;
end;
PM MAIL ICQ   Вверх
VICTAR
Дата 28.1.2008, 02:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

Репутация: 3
Всего: 80



lukash256, что ЭТО и как относится к вопросу?  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1120 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.