|
Как послать http запрос в google? | ☑ | ||
---|---|---|---|---|
0
rotting
30.11.12
✎
17:35
|
Есть вот такая статейка от гугла https://developers.google.com/maps/documentation/distancematrix/?hl=ru#DistanceMatrixRequests , пишу так:
Кат = КаталогВременныхФайлов(); Текст = Новый ТекстовыйДокумент; Текст.УстановитьТекст(Объект.Параметры); Текст.Записать(Кат+"s.txt",КодировкаТекста.ANSI); ХТТП = Новый HTTPСоединение(Объект.АдресСервера,Объект.Порт); ХТТП.ОтправитьДляОбработки(Кат+"s.txt",Объект.ПутьКоманды,Кат+"r.txt"); //Текст = Новый ТекстовыйДокумент; Текст.Прочитать(Кат+"r.txt",КодировкаТекста.UTF8); Объект.Результат = Текст.ПолучитьТекст(); в адрес сервера пишу maps.googleapis.com/maps/api/distancematrix/xml? , в параметры пишу origins=Moskau&destinations=Minsk&mode=driving&language=ru&sensor=false в ответ получаю вот такую хрень <?xml version="1.0" encoding="UTF-8"?> <DistanceMatrixResponse> <status>INVALID_REQUEST</status> </DistanceMatrixResponse> как сделать правильно? |
|||
1
rotting
30.11.12
✎
17:42
|
что-то в последнее время миста мне ничего подсказать не может....
|
|||
2
rotting
30.11.12
✎
17:45
|
я понимаю что лень в пятницу вникать в чужую проблему, но я уже всю голову сломал себе
|
|||
3
zulu_mix
30.11.12
✎
17:49
|
попробуй КодировкаТекста.UTF8
|
|||
4
oleg_km
30.11.12
✎
18:02
|
Я в таких случаях беру Fidller, свой любимый браузер и смотрю что происходит в интерактивном обмене. Потом тоже воспроизвожу с помощью HTTPСоединение
|
|||
5
rotting
30.11.12
✎
18:02
|
(3) тоже самое((
|
|||
6
rotting
30.11.12
✎
18:07
|
(4) спс, сча попробую раздуплить
|
|||
7
oleg_km
30.11.12
✎
18:10
|
(6) Вот с этого и нужно начинать. А когда не получиться выкладывать логи и задавать вопросы. А то х.з. что там у гугля наверчено?
|
|||
8
rs_trade
30.11.12
✎
18:12
|
url_Адрес = URLEncode4(Адрес);
Запрос = "http://maps.google.ru/maps/geo?"+"q="+url_Адрес+"&"+"key="+Ключ+"&output="+ФорматОтвета+"&oe=cp1251&sensor=true_or_false"; Попытка XMLHttp = GetCOMObject("", "Microsoft.XMLHTTP"); Исключение Возврат Неопределено; КонецПопытки; //Инициируем асинхронный запрос, который вернет управление программе только после получения ответа Попытка XMLHttp.Open("GET", Запрос, Ложь); Исключение Ошибка = ОписаниеОшибки(); Возврат Неопределено; КонецПопытки; //Отправка запроса XMLHttp.Send(); Если XMLHttp.Status = 200 Тогда Возврат XMLHttp.ResponseText; Иначе Возврат Неопределено; КонецЕсли; |
|||
9
rs_trade
30.11.12
✎
18:12
|
Функция URLEncode4(Строка="")
ScrCtrl = Новый COMОбъект("MSScriptControl.ScriptControl"); ScrCtrl.Language="JScript"; Сообщение = ScrCtrl.eval("var uri='"+Строка+"'; encodeURI(uri);") ; Возврат Сообщение; КонецФункции |
|||
10
rs_trade
30.11.12
✎
18:13
|
Я так с гуглем общался.
|
|||
11
rotting
30.11.12
✎
18:14
|
(9) мне на веб клиенте нужно, и скорее всего и сервер, клиент будут работать под линуксом, так что ком не катит
|
|||
12
rs_trade
30.11.12
✎
18:15
|
(11) найди другую функцию кодирования. без кома. тут на мисте есть.
|
|||
13
rs_trade
30.11.12
✎
18:15
|
а блин, там же тоже ком.
|
|||
14
rotting
30.11.12
✎
18:26
|
(7) поставить - поставил, что-то там написано))) Куда смотреть то?
|
|||
15
rotting
30.11.12
✎
18:30
|
пишет что User-Agent: 1C+Enterprise/8.2 , может гугл из-за этого посылать нах...?
|
|||
16
rotting
30.11.12
✎
18:41
|
ап
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |