Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.02.07;
Скачать: CL | DM;

Вниз

Кодировка HTTP запросов   Найти похожие ветки 

 
andrewtitoff ©   (2009-12-03 21:30) [0]

Здравствуйте подскажите пожалуйста как решить проблему с кодировкой в дельфи 2009-2010, или в чем дело?
http1.Get в дельфе 2007 и ниже работает без проблем, а 2009 - 2010 неработает... =(((


 
andrewtitoff ©   (2009-12-03 21:31) [1]

в смысле tidHTTP


 
Сергей М. ©   (2009-12-03 22:18) [2]

В Д2009 и далее тип String по умолчанию стал WideString (до этого момента - AnsiString).
Индейцы были к этому не готовы.
А проблемы индейцев, как известно, шерифа не волнуют)


 
andrewtitoff ©   (2009-12-03 22:27) [3]


> Сергей М. ©   (03.12.09 22:18) [2]
> В Д2009 и далее тип String по умолчанию стал WideString
> (до этого момента - AnsiString).Индейцы были к этому не
> готовы.А проблемы индейцев, как известно, шерифа не волнуют)

Это я уже нагуглил, а что делать то теперь?, как это можно исправить?
P.S.
А что индейцы такие тормознутые?, уже больше года прошло с выхода д2009.., они что за год не смогли исправить?, или исправили уже но дельфи досихпор комплектуется старыми версиями?


 
Anatoly Podgoretsky ©   (2009-12-03 23:04) [4]

Не уверен, что сработает, но попробуй
AnsiString := RawByteString(http1.Get(...)) ;
Результат сообщи.


 
andrewtitoff ©   (2009-12-03 23:43) [5]


> Anatoly Podgoretsky ©   (03.12.09 23:04) [4]
> Не уверен, что сработает, но попробуй AnsiString := RawByteString(http1.
> Get(...)) ;Результат сообщи.


Не, результат такой-же... =(((
Может я что то делаю не так, сниффером смотрел -отправляет вроде такую же строку, а ответы разные, т.е. если просто в браузер вставить - то все как надо...


procedure TForm1.Button2Click(Sender: TObject);
var
response:tstringlist;
begin
response := TStringList.Create;
response.clear;
response.Text := RawByteString(http1.Get("http://vkontakte.ru/gsearch.php?section=people&ginv=2025068#c%5Bcity%5D=2&c%5Bcountry%5D=1&c%5Bonline%5D=1&c%5Bsection%5D=people&offset=20"));
form1.Memo1.Lines := response;
end;


 
andrewtitoff ©   (2009-12-03 23:45) [6]

Может еще что-то нужно?, редирект какой-нибудь? т.к. запрос возвращает главную страницу поиска без параметров т.е. просто все люди...


 
McSimm ©   (2009-12-03 23:51) [7]

Судя по урл (по наличию параметров после #) страница формируется динамически, с помощью javascript подзапросов (ajax)

Отключите javascript в браузере и вероятно получите тот же результат, что и в tidHttp


 
andrewtitoff ©   (2009-12-03 23:54) [8]


> McSimm ©   (03.12.09 23:51) [7]
> Судя по урл (по наличию параметров после #) страница формируется
> динамически, с помощью javascript подзапросов (ajax)Отключите
> javascript в браузере и вероятно получите тот же результат,
>  что и в tidHttp

А как нужно делать?, модно примерчик - если не сложно, а то я запуталса совсем... =(((


 
McSimm ©   (2009-12-04 00:12) [9]


> примерчик - если не сложно

сложно, если честно.

я не проверял конкретно ваш случай, поясняю только свои предположения.
Браузер получает html по урл, после того, как он этот html разобрал, он подгружает и выполняет javascript . Этот javascript код выполняет какие-то действия со страницей - почти все что угодно - дополнительные запросы к серверу, оформление страницы, скрытие / отображение данных.


> А как нужно делать?

Ответить трудно. Не понятно что именно нужно делать.
Самый простой и правильный ответ - пользоваться браузером и тем сервисом, который предусмотрен разработчиками ресурса.


 
andrewtitoff ©   (2009-12-04 00:34) [10]

Ну раз примерчик сложно - может хоть подскажите где почитать про запросы?


 
McSimm ©   (2009-12-04 01:16) [11]

а задача в чем ?
А то насоветую http, ajax, javascript , на три месяца освоения, а окажется, что надо было просто принятый html правильно пропарсить.


 
andrewtitoff ©   (2009-12-04 01:28) [12]


> McSimm ©   (04.12.09 01:16) [11]
> а задача в чем ?А то насоветую http, ajax, javascript ,
> на три месяца освоения, а окажется, что надо было просто
> принятый html правильно пропарсить.

Задача:
1)Залогиниться вконтакте - уже сделано
2)Получить страницу поиска по критериям
3)Выслать приглашение - тоже уже разобрался!

Критерии буду получать из строки браузера в таком виде:
"http://vkontakte.ru/gsearch.php?section=people&ginv=2025068#c%5Bcity%5D=2&c%5Bcountry%5D=1&c%5Bonline%5D=1&c%5Bsection%5D=people&offset=20"
и их уже использовать...

И еще вопрос как правильно логиниться и на что это влияет и для чего нужно?, я имею ввиду для чего вот это:
   H.Request.Referer := "http://vkontakte.ru/login.php";
   H.Request.Accept := "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
   H.Request.AcceptLanguage := "ru,en-us;q=0.7,en;q=0.3";
   H.Request.AcceptCharSet := "windows-1251,utf-8;q=0.7,*;q=0.7";
   H.Request.ContentType := "application/x-www-form-urlencoded";
   H.Request.Connection := "keep-alive";
   H.Request.UserAgent := "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3";
   Result := H.Post("http://vkontakte.ru/login.php", SL);


 
andrewtitoff ©   (2009-12-04 02:03) [13]

Вроде разобрался!, покрайне мере пока что работает!, сделал так:

param.Text:=
"c[city]=2"#13#10+
"c[country]=1"#13#10+
"c[online]=1"#13#10+
"c[section]=people";
response.Text := http1.post("http://vkontakte.ru/gsearch.php?section=people&ginv=2025068",param);



 
Сергей М. ©   (2009-12-04 08:31) [14]

Спрашивается, и что же при этом изменилось с "кодировкой" ?


 
McSimm ©   (2009-12-04 08:58) [15]

теперь столько радости всем приглашенным будет :)


 
Andrewtitoff ©   (2009-12-04 09:39) [16]


> Сергей М. ©   (04.12.09 08:31) [14]
> Спрашивается, и что же при этом изменилось с "кодировкой"
> ?

Ничего, видимо а д2010 уже индейцы опомнились, просто я в д2009 с такой проблемой сталкивался - вот и подумал что проблема та-же была....


 
Anatoly Podgoretsky ©   (2009-12-04 09:52) [17]

> andrewtitoff  (04.12.2009 01:28:12)  [12]

По описанию задачи, или спаммер, или мошенник.


 
Andrewtitoff ©   (2009-12-04 10:02) [18]


> Anatoly Podgoretsky ©   (04.12.09 09:52) [17]
> > andrewtitoff  (04.12.2009 01:28:12)  [12]По описанию задачи,
>  или спаммер, или мошенник.

Ну можно сказать и спамер, вообще таких инвайтеров куча в сети, только они все глючные ужасно т.к. все без исключения написанны копи-пастом...


 
Сергей М. ©   (2009-12-04 10:09) [19]


> можно сказать и спамер


Поколотят тебя, когда поймают)


 
brother ©   (2009-12-04 10:13) [20]

> Поколотят тебя, когда поймают)

поиски уже ведутся, никуда не выходи, за тобой придут...


 
Andy BitOff ©   (2009-12-04 10:13) [21]


> Сергей М. ©   (04.12.09 10:09) [19]

Хорошо еще если просто поколотят.
И почему молодые люди не думают о возможных последствиях? Видимо заложено на генном уровне, чтобы молодые меньше боялись и к большему стремились, не обращая внимание на возможные неприятности. А может просто недостаток жизненного опыта.


 
Сергей М. ©   (2009-12-04 10:17) [22]


> Andy BitOff ©   (04.12.09 10:13) [21]



> почему молодые люди не думают о возможных последствиях?


Потому что для них это "круто", это "понты")


 
Andrewtitoff ©   (2009-12-04 10:24) [23]


> Andy BitOff ©   (04.12.09 10:13) [21]
> > Сергей М. ©   (04.12.09 10:09) [19]Хорошо еще если просто
> поколотят.И почему молодые люди не думают о возможных последствиях?
>

А вы что тут все старые?.. =)))


 
Andrewtitoff ©   (2009-12-04 10:25) [24]

Как бабки на лавке развели флуд... =)))


 
Anatoly Podgoretsky ©   (2009-12-04 10:26) [25]

> Сергей М.  (04.12.2009 10:09:19)  [19]

Стоит ли колотить? Может вопрос решить кардинально?


 
Andrewtitoff ©   (2009-12-04 10:28) [26]


> Anatoly Podgoretsky ©   (04.12.09 10:26) [25]
> > Сергей М.  (04.12.2009 10:09:19)  [19]Стоит ли колотить?
>  Может вопрос решить кардинально?

Да, да, да, всех за 101 километр и вернуть статью за туниядство... =)))


 
Andy BitOff ©   (2009-12-04 10:36) [27]


> Andrewtitoff ©   (04.12.09 10:28) [26]

Тунеядство, это еще ничего, а вот в тюрьму за опоздание, это да.


 
Andrewtitoff ©   (2009-12-04 10:55) [28]


> Andy BitOff ©   (04.12.09 10:36) [27]
> > Andrewtitoff ©   (04.12.09 10:28) [26]Тунеядство, это
> еще ничего, а вот в тюрьму за опоздание, это да.

А куда Вы опаздываете? =)))


 
Сергей М. ©   (2009-12-04 11:12) [29]


> вы что тут все старые?


"Давно сидим !" (С) БСП



Страницы: 1 вся ветка

Текущий архив: 2010.02.07;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.011 c
3-1234527045
allexxx
2009-02-13 15:10
2010.02.07
mssql 2005 и xml data type


15-1259667219
Marser
2009-12-01 14:33
2010.02.07
Утилита для работы с XML


15-1259767731
Ruzzz
2009-12-02 18:28
2010.02.07
Экпорт исходного кода из IDE в RTF/HTML


2-1260712096
serhiyiv
2009-12-13 16:48
2010.02.07
TStringList


8-1202728924
Vayrus
2008-02-11 14:22
2010.02.07
SWF2Exe