Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Пытаюсь написать http tunneling нужна помощь. (http://www.flasher.ru/forum/showthread.php?t=130602)

dimarik 01.10.2009 16:29

RFC 2116

Код:

5 Request

  A request message from a client to a server includes, within the
  first line of that message, the method to be applied to the resource,
  the identifier of the resource, and the protocol version in use.

        Request      = Request-Line              ; Section 5.1
                        *(( general-header        ; Section 4.5
                        | request-header        ; Section 5.3
                        | entity-header ) CRLF)  ; Section 7.1
                        CRLF

А Вы не забыли отправить второй CRLF?

"\r" => 0Dh => CR
"\n" => 0Ah => LF

Код:

"CONNECT " + this.host + ":" + this.port + " HTTP/1.1\r\n\r\n"

Dragon rideR 02.10.2009 09:52

Респект всем!
Заработало! :yahoo:

Котяра 02.10.2009 09:53

а поделиться?)))))))

Dragon rideR 02.10.2009 10:55

доделаю авторизацию на проксе и протетирую с разными проксями тогда выложу )

Dragon rideR 05.10.2009 11:20

Вложений: 1
Ну вот написал флашку.
Добавил авторизацию на проксе методом Basic. Сейчас буду копать в сторону других методов авторизации.

P.S. Есть проблема с кодированием русских букв методом Base64, если у кого нить есть скрипт на as2 с поддержкой русских букв буду очень признателен. И еще проблема с передачей русских букв по сокету... Будем копаться

dimarik 05.10.2009 12:28

Почему HTTP/1.0?
Метод CONNECT описан для HTTP/1.1 все в том же RFC 2116.

Также желательно разнести соединение и отправку по факту самого установившегося соединения.
Код AS1/AS2:

_root.sock.connect(proxy.text,proxy_port.text);
_root.sock.onConnect = function(success):Void {
  if (success) {
      this.send(str);
    } else {
        trace("connect failed");
    }
}
//_root.sock.send(str);

Еще меня настораживает тот факт, что onData срабатывает при приеме zero-byte. Неужели прокся такой присылает? Я могу ошибаться. В таком случае, не могли бы Вы предоставить бинарный дамп tcp-соединения с проксей. Буквально соединение-отправка-прием.

Dragon rideR 05.10.2009 16:04

Вложений: 2
К счастью присылают нулевой бит:) Просто мой сокет сервер принудительно вставляет нулевой бит в конец сообщения, может это роль играет.
Пробовал на wingate, winroute и winproxy срабатывает onData на ура.
Еще буду править флашку. Нужно обрезать хттп шапку которую прокся добавляет к пакетам
прикладываю бинарный дамп и график обмена пакетами

el777 25.01.2010 18:03

А где вы берете адрес и порт прокси?
Вот скажем есть корп. сетка, в ней стоит прокся по адресу 192.168.0.1:3128, но как об этом узнает Ваша флешка? Ведь по идее она должна коннектиться к этой проксе?
Или вы делаете CONNECT на Ваш сервер? А прокся "прозрачно" заворачивает трафик на себя и коннектится к серверу?
И второй вопрос: как быть с портом и политикой безопасности сокета? В этом случае можно коннектиться только на 80-й порт, с которого загружена страница? Или же на любой другой на том же домене? Надо ли предоставлять soket policy в этом случае?


Часовой пояс GMT +4, время: 12:01.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.