Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Работа с HTTP прокси сервером (http://www.flasher.ru/forum/showthread.php?t=180190)

wapmaster 29.05.2012 16:05

Работа с HTTP прокси сервером
 
Пытаюсь подключится к HTTP прокси серверу. Но видимо какая-то ошибка при передаче заголовков...

Код AS3:

package 
{
        import flash.desktop.NativeApplication;
        import flash.events.Event;
        import flash.display.Sprite;
        import flash.display.StageAlign;
        import flash.display.StageScaleMode;
        import flash.events.ProgressEvent;
        import flash.geom.Rectangle;
        import flash.net.NetStream;
        import flash.net.Socket;
        import flash.ui.Multitouch;
        import flash.ui.MultitouchInputMode;
        import flash.media.StageWebView;
 
        /**
        * ...
        * @author rocket
        */

        public class Main extends Sprite
        {
                private var _webWiev:StageWebView;
                private var _socket:Socket;
 
                public function Main():void
                {
                        stage.scaleMode = StageScaleMode.NO_SCALE;
                        stage.align = StageAlign.TOP_LEFT;
                        stage.addEventListener(Event.DEACTIVATE, deactivate);
 
                        // touch or gesture?
                        Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
 
                        _socket = new Socket();
                        _socket.connect("200.137.130.31", 3128);
                        _socket.addEventListener(Event.CONNECT, onSocket);
                        _socket.addEventListener(ProgressEvent.SOCKET_DATA, onSocket);
 
                        // entry point
                        _webWiev = new StageWebView();
                        _webWiev.loadURL("http://www.gaminatorslots.com/");
                        //_webWiev.viewPort = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);
                        _webWiev.viewPort = new Rectangle(0, 0, stage.stageHeight, stage.stageWidth);
                        _webWiev.stage = this.stage;
                }
 
                private function getStringToSocket($host:String):String
                {                       
                        var str:String = "GET /wiki/HTTP HTTP/1.0\r\n";
                        str += "Host: ru.wikipedia.org\r\n";
                        str += "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5\r\n";
                        str += "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
                        str += "Accept-Encoding: gzip,deflate,sdch\r\n";
                        str += "Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4\r\n";
                        str += "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.3\r\n";
                        str += "\r\n";
 
 
                        return str;
                }
 
                private function onSocket(e:Event):void
                {
                        switch (e.type)
                        {
                                case Event.CONNECT:
                                        trace("Connected to socket");
                                        _socket.writeUTF(getStringToSocket(""));
                                        _socket.flush();
                                break;
                                case ProgressEvent.SOCKET_DATA:
                                        var resData:String = _socket.readUTFBytes(_socket.bytesAvailable);
                                        _webWiev.loadString(resData);
                                break;
                                default:
                                        trace("HZ", e.type);
                        }
                }
 
                private function deactivate(e:Event):void
                {
                        // auto-close
                        NativeApplication.nativeApplication.exit();
                }
 
        }
 
}

в логе прокси сервера видел что перед словом GET в какая-то фигня стоит, а если захожу на сайт из браузера то все ок...

maxkar 29.05.2012 16:59

Цитата:

Сообщение от wapmaster (Сообщение 1081980)
в логе прокси сервера видел что перед словом GET в какая-то фигня стоит

Не фигня, а длина строки. Читайте документацию по используемым методам! И смотрите, какие вообще методы есть у сокета.


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

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