| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Winsock и Proxy |
| Автор: ScoL 3.4.2008, 23:34 |
| Ув. Форумчане кто может подсказать как приконнектиться к прокси и через него послать какие либо данные ? (поиск юзал, ничего подходящего не нашел) |
| Автор: Snowy 4.4.2008, 11:48 |
| Присоедениться к прокси - так-же, как и к любому другому серверу. А, непосредственно, отправка данных через него зависит от типа прокси и протокола. |
| Автор: ScoL 4.4.2008, 16:01 |
| просто через connect ? прокси http.... если можно то примерчик как послать данные через http прокси.... |
| Автор: Virtuals 7.4.2008, 07:18 | ||||||||
| работа через прокси отличается от обычного HTTP (и не только), все го лиш одной доп. коммандой. исходная: прокси proxy порт 8080 если для прямого соединения вы подключаетесь к forum.vingrad.ru и порту 80 и шлете
то с прокси вы подключаетесь к proxy и порту 8080 шлете
получаете типа
(сдесь главное HTTP/1.0 200 ) а далее как обычно
|
| Автор: ScoL 7.4.2008, 15:06 |
| Virtuals, спс разобрался |
| Автор: HiVeR 1.4.2009, 14:52 | ||
| собсно не получается... постоянно летят Error'ы на recv'е непонятно почему и зачем.. очень редко было всё ок, и на выходе от прокси получал страницу с "400, Bad Request".. но это было всего пару раз.. перепроверил кучу проксей, многие из них 100% рабочие, а мой код их не хочет брать(. думаю изза неправильного запроса.. или неправильного принятия данных, хотя вроде всё верно. вот основная часть кода, выделил самые сомнительные места, hpack - перепробовал кучу самых разных вариантов - и с #13#10#13#10 и без них, совсем по разному писал url - и с http:// и без, и ещё пару вариантов - с http:// ваще ни в какую не шло, а просто если домен - то вроде что-то отправлялось.. кароч жесть путаница), подскажите плз что тут нетак:
в основном пробовал коннектиться к yoip.ru - через проксю в браузере норм коннектилось, а тут Recv Error или пустой результат после долгого ожидания, или просто невозвратное зависание. |
| Автор: Matematik 1.4.2009, 16:17 |
| Возьми сниффер, забей в браузер проксю и посмотри что и как посылает. Потом попробуй своей программой и сравни. |
| Автор: HiVeR 1.4.2009, 17:17 | ||
| Matematik, спс за совет, так очевидно - а попробовать ранее чёто в голову не пришло). впринципе обошлось и без этого), просто всё проще:
вот такого вида запрос у индейцев, работает способ, описанный Virtuals в 4ом посте, тоже вроде работает, но наверно чего-то не хватает.. |
| Автор: KeeRush 7.4.2009, 21:04 |
| Доброго времени суток. А как быть в том случае если протокол отличен от HTTP? Ситуация: сервер получает данные с приборов по TCP. Для этого создаю слушающий сокет и когда приходит пакет от прибора то уже устанавливаю соединение с ним по новому сокету. А что делать если нужно работать через прокси? |
| Автор: Virtuals 8.4.2009, 05:41 | ||
KeeRush слушать через прокси никак, а вот устанавливать соединение влегкую.
главное чтоб твой прокси несопротивлялся. ЗЫ я так с почтой работаю по POP3 $) |
| Автор: KeeRush 8.4.2009, 05:49 |
| Virtuals, В том то и проблема что соединение инициируют приборы. Сервер лишь создает слушающий сокет и ждет. |
| Автор: Virtuals 8.4.2009, 12:34 |
| KeeRushтогда увы... слушающий сокет должен быть в одное сети с прибором, без никаких проксей. озвуч задачу подробней... приложение сам пишеш? где приборы и где нужно инфу получать? |
| Автор: KeeRush 8.4.2009, 12:50 |
| Да приложение пишу сам. Сервер оформлен в виде сервиса WinNT. Приборы выходят в инет по GPRS и стучат на определенный ИП по определенному порту. Сервер соответственно обменивается с приборами информацией по внутреннему протоколу и обрабатывает ее. Заказчик выдвигает требование чтобы система работала за прокси. FreeCap и иже с ними не приветствуются. Как то так |
| Автор: Virtuals 8.4.2009, 13:22 |
| KeeRush, в любом соединении сетевом. ХОТЯБЫ 1 из двоих обязан иметь белый IP. или если за NATом то проброс портов. другого не дано!!! так что может не прокси а всетаки нат или фаер перед сервером.? |
| Автор: KeeRush 8.4.2009, 15:16 |
| Virtuals, Немного не понимаю при чем тут фаер. Думаю возникло некоторое непонимание На данный момент система работает. Сервер имеет "белый" ИП. Приборы при выходе на связь получают свои динамические "белые" ипы (насколко я знаю ни один из GSM операторов не предоставляет статические ИПы). Но другой заказчик находится на территории режимного объекта и выход в инет имеет только через прокси сервер доступа к администрированию которого нет никакого. Таким образом НАТ не проходит. Я так понял что задача классическими методами не решаема. Но все равно спасибо за помощь! |
| Автор: Virtuals 8.4.2009, 16:12 |
| KeeRush, ну во первых гсм операторы чаще дают не белый ип а за NATом. ... вот теперь ситуация проясняется. заказчику нужно обязательно реал-тайм управление? или достаточно просто инфу мониторить? |
| Автор: KeeRush 11.4.2009, 16:12 |
| Не понял вопроса может быть еще прояснить ситуацию? Приборы - GPS треккеры которые по GPRS передают информацию на сервер. Для передачи информации они устанавливают коннект с сервером. Соединение с сервером живет до тех пор пока прибору есть что передавать или пока не оборвется GSM сигнал. С нашими настройками прибору всегда есть что передавать таким образом соединение живет достаточно долго. Одновременно на связи может находится несколько десятков приборов. Прибору указывается на какой ИП стучать и по какому порту. Ну а что добавить про сервер я уже не знаю |
| Автор: Virtuals 13.4.2009, 05:32 |
| KeeRush, дык вот теперь понятно. так зачем изобретать велосипед? сервер обязан иметь белый (или НАТ но с проброшеными портами) инет. отсюда, самое простое, и кстати самое надежное! внешний хостинг, с потдержкой пхп и мускула. //все а далее дело техники .трекеры стучатся на вэб сервер, передают свой ид и другую инфу... .пхп скрипт все пишет в мускульную базу данных. . все кому нужно забирают данные черех вэб морду (вот тут есть где фантазии развернутся несомненные плюсы. данной схемы. .вам пофиг какой у клиента инет, хоть через мобилу пусть выходят, проект универсален для всех. .внешний хостинг, /в большинстве случаев/ реально имеет более "толстые" и самое главное более надежные каналы в инет. (что повысит надежность системы в целом) ЗЫ извиняюсь за офтоп. . и если вам так захочется "подоить заказчика на бабки" (а так кстати большинство и поступают, в данном напр. услуг) то хостинг открываете вы на себя, а клиенту даете только реквизиты входа для трекеров и клиентов мониторинга. (и доите, доите клиента (точнее не клиента, а много, очень много клиентов, т.к. на одном хостинге можете иметь кучу баз данных) ежемесячно, за т.н. техническую потдержку системы) //способ некрасивый, но бизнес есть бизнес, а заказчику просто неоткрывается вся поднаготная сервиса. (деньги заплатил, получил список ид для треккеров, и реквизиты входа для сьема данных) |
| Автор: KeeRush 13.4.2009, 05:47 |
| И вправду ушли от темы К сожалению по ряду причин предложенная схема не подходит :( |
| Автор: Virtuals 14.4.2009, 04:55 |
| KeeRush, увы другого недано, так что решай свой ряд причин. |