2013-11-17 1 views
0

так вот кодУ меня проблемы с readSessionArchive() в FiddlerScript

case "kancolle": 
    FiddlerObject.log("kancolle start"); 
    var inputPath = **  // ** is certain input path 
    var kanFiles:String[] = System.IO.Directory.GetFiles(inputPath, "*.saz"); 
    for (var i:int = 0; i<kanFiles.Length; ++i) // just 1 file in fact 
    { 
     FiddlerObject.log("kanFiles: " + i); 
     var kanSessions:Session[] = Utilities.ReadSessionArchive(kanFiles[i], true); 
     for (var i1:int = 0; i1<kanSessions.Length; ++i1) // 23 sessions there 
     { 
      FiddlerObject.log("kanSessions: " + i1); 
      FiddlerObject.log(kanSessions[i].url); 
     } 
    } 
    break; 

однако выход странно

kancolle start 
    kanFiles: 0 
    kanSessions: 0 
    www.urlForTheFirstSession.com // not a real url 
    kanSessions: 1 
    www.urlForTheFirstSession.com // still the same 
    ....       // and continues 

Я знаю, что этот кусок кода выглядит плохо, и это потому, они составлены вместе из нескольких других. Но я предположил, что это сработает, и теперь я ничего не могу с этим поделать.

p.s. если вы заметили какую-либо проблему стиля, я рад выслушать

ответ

0

Я не уверен, что понимаю, в чем проблема. Какая часть вашего результата неожиданна?

Что вы видите, если вы открываете тот же самый файл .SAZ в самом Fiddler?

Если бы я должен был догадаться, я бы предположил, что вы взяли этот захват сайта HTTPS, и вы не включили дешифрование HTTPS. Таким образом, все ваши запросы будут иметь форму CONNECT SECURESITE.COM HTTP/1.1, но вы не увидите ни одного из или POST запросов.

+0

Простите, что я не прояснил ситуацию и привел вас к неправильной догадке. На самом деле я вложил 23 сеанса в файл .SAZ и поместил файл в папку (папка содержит только 1 файл .SAZ). Таким образом, первый цикл запускается только один раз. Моя проблема - это ** kanSessions [i] **. Хотя ** i ** продолжает расти, ** kanSessions [i] ** возвращает только первый сеанс. Вы можете прочитать мой код еще раз, чтобы увидеть проблему, спасибо за ответ и программное обеспечение :) – bijiDango

+0

Я * думаю * вы говорите: «Я неправильно использовал переменную' i', когда я хотел использовать 'i1'. отличный пример, почему выбор значимых имен переменных является наилучшей практикой. :-) – EricLaw

+0

Да, это одна из проблем, которые у меня есть с js - невозможно переопределить переменную в цикле ** для **. И это заставляло меня нервничать, когда определяете переменная цикла ~~ – bijiDango