1 | |
Решил сделать локальный TCP прокси-сервер. Как делать переадресацию?25.12.2017, 12:06. Показов 906. Ответов 3
Метки нет (Все метки)
Решил сделать для себя простой локальный прокси-сервер на ТСР-сокетах. По ТСР-части вопросов нет, она более-менее работает. HTTP-запросы от браузера принимает, обрабатывает их, дает ответы браузеру. Здесь - все хорошо. Вопрос в другом.
Этот сервер должен скачивать из интернета те или иные страницы - по необходимости - и отдавать их браузеру. Но, вот как это концептуально реализовать? Ведь в адресной-то строке браузера у меня написано localhost:port (или 127.0.0.х:port ). Тогда как обращаться в сеть, если это будет, скажем, адрес http://site.ru:80/index.html ? Вот я пока не пойму - как это реализовать? Т.е. практическую-то реализацию я сделаю сам. Концепция переадресации интересует. Желательно - со схемой и какие параметры - как преобразовывать при передаче запроса прокси-сервером в сеть или при получении им запроса из сети.Примечание. Да, я знаю, что для подобной цели возможно использование серверов типа Node.JS (как мне посоветовали здесь однажды), но я не хочу с этим связываться. Своё - оно как-то понятнее и проще. Да и работает быстрее, ибо большинство функциональности Node.JS мне не нужно.
0
|
25.12.2017, 12:06 | |
Ответы с готовыми решениями:
3
Локальный прокси сервер Локальный прокси сервер и маршрутизатор Настройка работы интернет через локальный прокси-сервер Как локальный сервер сделать глобальным |
25.12.2017, 13:15 [ТС] | 3 |
Одна из причин, почему возник вопрос. Чтобы была возможность отправлять POST-запросы с html-страниц обычным образом. Т.е. будет что-то вроде
xhr.open("POST", 'http://site.ru/program.php?..., true) .Проблема в том, что в адресной-то строке браузера будет фигурировать запрос к прокси серверу (а не к site.ru !), тогда как в JS-коде Html-страницы - адрес указан как http://site.ru/... .Браузер заблокирует такие запросы, т.к. будет несовпадение домена страницы и домена адресата запроса. Или, что, придется во всех ссылках страницы придется http://site.ru заменять на http://127.0.0.1:12345 - как это в интернете прокси-серверы делают?
0
|
28.12.2017, 22:26 [ТС] | 4 |
Хотя, я смотрю, онлайн-прокси-серверы (ну, которые я смотрел, по крайней мере) производят замену, разве что, в статических URL ссылок (т.е. в тех, что прописаны в html-коде страницы), а не в динамических. AJAX при этом, в общем случае, будет невозможным.
0
|
28.12.2017, 22:26 | |
28.12.2017, 22:26 | |
Помогаю со студенческими работами здесь
4
Как сделать локальный .ехе СОМ-сервер? Как сделать простой TCP сервер? Почему браузер при работе через локальный прокси сервер направляет запрос CONNECT, а не GET? как мне сделать прокси сервер? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке
В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
|
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
|
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins
В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
|
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang
Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
|
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
|
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
|
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
|
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
|
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента!
4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве).
Первое вводное занятие. . .
|
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
|
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений
Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
|
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
|