|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Не работает яндекс геокодирование
Здравствуйте! У яндекса есть сервис геокодирования - перевод адресов домов и улиц в географические кординаты. Раньше отправлял get запрос idhttp http://geocode-maps.yandex.ru/1.x/ ?...я+улица,+дом+7 и получал кординаты, сейчас в яндексе что то поменялось и нужно отправлять запрос https. Отправляя get запрос этим же idhttp получаю только небольшой фрагмент HTML страницы, где никакими кординатами даже и не пахнет. подскажите как можно получить весь код html?
|
#2
|
||||
|
||||
Шифруются ребята к протоколу вероятно нужно добавить поддержку socket security layer, в смысле подключить библиотеку OpenSSL, главное с версией индюшки не ошибиться, кстати, с 10й вроде такой необходимости больше нет, функции ssl подключены к ядру напрямую
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
||||
|
||||
на WinHTTP написал примерчик для Простой поиск по названию
возвратил результат: Код HTML:
в Google Earth вбил строку-координаты "64.542107 40.51463" (из результата поменял местами значения), попал в точку. задал свой домашний адрес - снова в точку. Пример Пишу программы за еду. __________________ Последний раз редактировалось NumLock, 07.07.2015 в 14:06. |
#4
|
|||
|
|||
а можно исходник глянуть? у меня так же раньше работал idhttp.
|
#5
|
||||
|
||||
так а что там смотреть, собственно?
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses WinHTTPComponents; {$R *.dfm} function StringToHex(s: String): String; var i: Integer; c: Char; r: String; begin r:=''; for i:=1 to Length(s) do begin c:=s[i]; r:=r+'%'+IntToHex(Ord(c), 2); end; Result:=r; end; procedure TForm1.Button1Click(Sender: TObject); var WinHttp: TWinHttp; begin WinHttp:=TWinHttp.Create(Self); try Memo1.Text:=WinHttp.Get('https://geocode-maps.yandex.ru/1.x/?geocode='+StringToHex(AnsiToUtf8(Edit1.Text))); Memo1.Lines.SaveToFile('geocode-maps.yandex.ru.xml'); finally WinHttp.Free; end; end; end. TWinHttp реализует WinHTTP API Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Babyka (08.07.2015)
|
#6
|
|||
|
|||
а я велосипед создаю!))) спасибо!)))
|
#7
|
|||
|
|||
Цитата:
|
#8
|
||||
|
||||
у меня написан свой TWinHttp, поэтому его негде скачать) используй функции WinHTTP API, этого вполне достаточно.
Пишу программы за еду. __________________ |
#9
|
|||
|
|||
еще бы знать как работать с этой winhttp.DLL, вобще шикарно было бы))
|
#10
|
||||
|
||||
Пишу программы за еду. __________________ |