|
HTTPСоединение через ИнтернетПрокси | ☑ | ||
---|---|---|---|---|
0
ass1c
20.01.23
✎
13:20
|
Коллеги, подскажите в чем нюанс использования ИнтернетПрокси. Есть API которое возвращает ip адрес: В браузере url "https://api.ipify.org/?format=json" и приходит ответ "{"ip":"85.191.124.67"}".
Реализовал это в 1с, но при этом в HTTPСоединение использую прокси сервер. Разве теперь этот метод на должен мне вернуть ip равный ip прокси сервера (41.126.34.215), через который я выполняю данный запрос? API взято отсюда: https://www.ipify.org/ &НаСервере Процедура ТестПроксиАйпи() ПроксиСервер = Новый ИнтернетПрокси(Ложь); ПроксиСервер.Пользователь = "123"; ПроксиСервер.Пароль = "890"; ПроксиСервер.Установить("https", "41.126.34.215", 3100, "123", "890"); СерверИсточник = "api64.ipify.org"; НТТР = Новый HTTPСоединение(СерверИсточник, , , , ПроксиСервер); HTTPЗапрос = Новый HTTPЗапрос("?format=json"); Результат = НТТР.Получить(HTTPЗапрос); ОтветИзСтроки = Результат.ПолучитьТелоКакСтроку(); Сообщить(ОтветИзСтроки); //{"ip":"85.191.124.67"} КонецПроцедуры |
|||
1
KJlag
20.01.23
✎
13:33
|
||||
2
arsik
гуру
20.01.23
✎
13:36
|
(0) Нет. Если в проксе не указано - прятать адрес клиента, он еще в запросах будет эти данные серверу отправлять.
|
|||
3
ass1c
20.01.23
✎
13:40
|
(1) - про файлик "inetcfg.xml" читал информацию, но думал что если создать прокси с параметром ЛОЖЬ, то по умолчанию он ниоткуда брать настройки не будет Новый ИнтернетПрокси(Ложь);
Надо проверить что в файле... |
|||
4
ass1c
20.01.23
✎
13:59
|
(2) Если настроить прокси в браузере (к примеру Edge) с этими параметрами, то запрос (https://api.ipify.org/?format=json) возвращает ip прокси сервера "41.126.34.215"
Если сделать запрос из другого браузера, где прокси сервер не указан в настройках, то вернется ip "85.191.124.67" Из 1с все так же возвращается "85.191.124.67" при указанных настройках прокис сервера в http соединении |
|||
5
ass1c
20.01.23
✎
14:12
|
(2) Т.е. хочешь сказать что реализовать такое не возможно? что бы он вернул ip прокси. Это такая особенность?
|
|||
6
arsik
гуру
20.01.23
✎
15:43
|
(5) Не это другое. Видимо у тебя не через прокси все таки трафик идет от 1С
|
|||
7
ass1c
20.01.23
✎
15:49
|
(6) ок, спасибо. Пока пробую с аутентификацией из 1с в прокси играться и так далее, но пока результата нет... в теории должно возвращать адрес прокси сервера
|
|||
8
arsik
гуру
20.01.23
✎
16:10
|
(7) Попробуй как и пробовал в (0)но с одним отличием - HTTPS в верхнем регистре. Посмотрел сейчас в БСП там в верхнем. Ну или методами БСП воспользуйся.
ПроксиСервер.Установить("HTTPS", "41.126.34.215", 3100, "123", "890"); |
|||
9
arsik
гуру
20.01.23
✎
16:11
|
(8) БСП ПолучениеФайловИзИнтернетаСлужебный.НовыйИнтернетПрокси
|
|||
10
arsik
гуру
20.01.23
✎
16:30
|
+(8) Ну и в HTTPСоединение не указанно ЗащищенноеСоединение, а значит у тебя запрос через http идет, а прокси ты для https указал
|
|||
11
ass1c
20.01.23
✎
17:30
|
(10) Е... ты гений) Спасибо! Дело оказалось именно в ЗащищенноеСоединение! Плюс немного переработал метод установить у прокси - убрал две лишние строчки и поставил флаг ложь, что бы была Basic аутентификация.
&НаСервере Процедура ТестПроксиАйпи() ПроксиСервер = Новый ИнтернетПрокси(Ложь); ПроксиСервер.Установить("https", "41.126.34.215", 3100, "123", "890", Ложь); + убрал две строчки выше и добавил последний параметр аутентификации ЛОЖЬ СерверИсточник = "api64.ipify.org"; НТТР = Новый HTTPСоединение(СерверИсточник, , , , ПроксиСервер); //Это будет йапи 85.191.124.67 НТТР = Новый HTTPСоединение(СерверИсточник, , , , ПроксиСервер , , Новый ЗащищенноеСоединениеOpenSSL()); //Это будет йапи прокси сервера 41.126.34.215 HTTPЗапрос = Новый HTTPЗапрос("?format=json"); Результат = НТТР.Получить(HTTPЗапрос); ОтветИзСтроки = Результат.ПолучитьТелоКакСтроку(); Сообщить(ОтветИзСтроки); //{"ip":"41.126.34.215"} КонецПроцедуры Спасибо! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |