Авторизация Flex HttpService для получения xml-канала

Я пытаюсь получить xml-канал из моей cpanel через API. Я пробовал несколько способов (см. ниже), чтобы пройти авторизацию для получения xml-канала.

В моем браузере я могу получить канал следующим образом:

http://user:[email protected]:2086/xml-api/listaccts?

Пример фида с сервера:

<listaccts>
<acct>
<disklimit>2500M</disklimit>
<diskused>56M</diskused>
<domain>domain.com</domain>
<email>[email protected]</email>
<ip>xx.xx.xx.xx</ip>
<max_defer_fail_percentage>unlimited</max_defer_fail_percentage>
<max_email_per_hour>unlimited</max_email_per_hour>
<maxaddons>*unknown*</maxaddons>
<maxftp>5</maxftp>
<maxlst>*unknown*</maxlst>
<maxparked>*unknown*</maxparked>
<maxpop>25</maxpop>
<maxsql>1</maxsql>
<maxsub>5</maxsub>
<min_defer_fail_to_trigger_protection>5</min_defer_fail_to_trigger_protection>
<owner>root</owner>
<partition>home</partition>
<plan>Basic</plan>
<shell>/usr/local/cpanel/bin/noshell</shell>
<startdate>13 Feb 17 07:05</startdate>
<suspended>0</suspended>
<suspendreason>not suspended</suspendreason>
<suspendtime/>
<theme>x3</theme>
<unix_startdate>1361109935</unix_startdate>
<user>xxxxxxxx</user>
</acct>
</listaccts>

Скрипт моего приложения:

<s:HTTPService id="clientList" method="GET" resultFormat="e4x"/>

В сценариях:

[Bindable]
private var clientInfo:Object = new Object();

private function clients(event:Event):void{

            clientList.url = 'http://' +loginUsername.text
            clientList.url += ':' + loginPassword.text
            clientList.url += '@' + loginServer.text;
            clientList.url += ':2086/xml-api/listaccts?';

            clientList.addEventListener("result", clientResult); 
            clientList.addEventListener("fault", clientFault); 
            clientList.send();

            CursorManager.setBusyCursor();

        }

        public function clientResult(event:ResultEvent):void { 


            clientInfo = clientList.lastResult.acct;
            CursorManager.removeBusyCursor();

        } 

        public function clientFault(event:FaultEvent):void { 

            var faultstring:String = event.fault.faultString;  
            Alert.show("Unable to obtain client list","Error"); 

            CursorManager.removeBusyCursor();
        }

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


person user1705839    schedule 20.05.2013    source источник


Ответы (1)


Не объединяйте строку, чтобы добавить свое имя пользователя и пароль.

Назовите это как WebService. и используйте setCredentials.

person TomSchober    schedule 20.05.2013
comment
Может быть, у вас есть образец, на который я могу взглянуть? Не профессионал в программировании Flex. - person user1705839; 20.05.2013