У меня проблемы с чтениемSessionArchive() в 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. если вы заметили какие-либо проблемы со стилем, я рад выслушать


person bijiDango    schedule 17.11.2013    source источник


Ответы (1)


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

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

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

person EricLaw    schedule 18.11.2013
comment
Извините, что я не прояснил и привел вас к неправильному предположению. На самом деле я запаковал 23 сеанса в 1 файл .SAZ и поместил файл в папку (папка содержит только 1 файл .SAZ). Таким образом, первый цикл выполняется только один раз. Моя проблема заключается в kanSessions[i]. Пока i продолжает расти, kanSessions[i] возвращает только первый сеанс. Вы можете прочитать мой код еще раз, чтобы увидеть проблему, спасибо за ответ и программное обеспечение :) - person bijiDango; 19.11.2013
comment
Думаю, вы говорите: я неправильно использовал переменную i, когда хотел использовать i1. Отличный пример того, почему лучше всего выбирать осмысленные имена переменных. :-) - person EricLaw; 20.11.2013
comment
Да, это одна из моих проблем с js — нельзя переопределить переменную в цикле for. И я нервничал, когда определял переменную цикла~~ - person bijiDango; 22.11.2013
comment
Я не понимаю твоего замечания. Ошибка в приведенном выше коде заключается в том, что вы используете неправильное имя переменной. - person EricLaw; 26.11.2013