SMF.Net.WebClient - пустой ответ от веб-сайта

Я уже успешно использую SMF.Net.WebClient для доступа к веб-сайту. Теперь у него странное поведение при запросе определенной ссылки:

  var wc = new SMF.Net.WebClient({
    URL : "http://www.invitro.ru/analizes/for-doctors/156/6671/?region_code=&section_id=156&element_id=6671",
    httpMethod : "GET",
    requestHeaders : ["Content-Type: text/html"],
    // When results are ready
    onSyndicationSuccess : function (e) {
        Pages.Webview.WV_Main.URL = this.responseText;
        Pages.Webview.show();            
    }, 
    timeoutInterval : 15        
  }); 
wc.run(true);

При этом onSyndicationSuccess responseText всегда пуст, хотя this.status = 200.

Я даже пробовал XmlHttpRequest с теми же параметрами и URL из Excel VBA. Он работал нормально!

В чем здесь может быть проблема?


person Ilya716    schedule 02.06.2015    source источник
comment
Кажется, проблема с получением ответа html с помощью WebClient. Почему вы используете webCLient для отображения HTML с помощью WebView. WebClient обычно использует для получения служб JSON Restful. Вы можете напрямую указать URL-адрес WebView.   -  person Doruk COŞKUN    schedule 02.06.2015
comment
Он находится в тестовом режиме. Мне нужно разобрать html-ответ в коде, чтобы взять некоторые данные со страницы. Есть ли более подходящий подход для достижения моей цели?   -  person Ilya716    schedule 03.06.2015
comment
Я предлагаю вам использовать метод runJS для таких целей smartface.io/developer/guides/controls/webview/   -  person Doruk COŞKUN    schedule 03.06.2015
comment
Благодарю вас! Отличный совет!   -  person Ilya716    schedule 03.06.2015


Ответы (1)


Возможный способ решения проблемы - использование объекта SMF.UI.WebView особым образом:

Pages.Webview.WV_Main.URL = ....
...
function Webview_WV_Main_OnLoad(e){
    var js = "document.body.innerHTML"

    Pages.Webview.WV_Main.runJS({javascript:js, callback:function(e){ 
        // e.result here is a string containing html-response
        }});  
}
person Ilya716    schedule 03.06.2015