NullPointerException
s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException
. Они наиболее распространены, но другие способы перечислены на странице NullPointerException
javadoc.
Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException
, be:
public class Example {
public static void main(String[] args) {
Object obj = null;
obj.hashCode();
}
}
В первой строке внутри main
я явно устанавливаю ссылку Object
obj
равной null
. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException
, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.
(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)
Нет Вы не можете получить необработанные журналы, но нет ничего мешающего Вам получить те же самые данные, регистрируемые к Вашим собственным журналам веб-сервера. Взгляните на Пострела, кодируют и одалживают это, изменяя следующие две строки для указания на веб-сервер вместо этого.
var _ugifpath2="http://www.google-analytics.com/__utm.gif";
if (_udl.protocol=="https:") _ugifpath2="https://ssl.google-analytics.com/__utm.gif";
Вы захотите создать a __utm.gif
файл так, чтобы они не обнаруживались в журналах как 404 с.
Очевидно, необходимо будет проанализировать переменные из хитов в журналы веб-сервера. Строка журнала в Apache выглядит примерно так. У Вас будет большая "забава", анализирующая весь различный материал, который Вы хотите от этого, но все, что Google Analytics получает от основных меток JavaScript, входит как это.
127.0.0.1 - - [02/Oct/2008:10:17:18 +1000] "GET /__utm.gif?utmwv=1.3&utmn=172543292&utmcs=ISO-8859-1&utmsr=1280x1024&utmsc=32-bit&utmul=en-us&utmje=1&utmfl=9.0%20%20r124&utmdt=My%20Web%20Page&utmhn=www.mydomain.com&utmhid=979599568&utmr=-&utmp=/urlgoeshere/&utmac=UA-1715941-2&utmcc=__utma%3D113887236.511203954.1220404968.1222846275.1222906638.33%3B%2B__utmz%3D113887236.1222393496.27.2.utmccn%3D(organic)%7Cutmcsr%3Dgoogle%7Cutmctr%3Dsapphire%2Btechnologies%2Bsite%253Arumble.net%7Cutmcmd%3Dorganic%3B%2B HTTP/1.0" 200 35 "http://www.mydomain.com/urlgoeshere/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.2.153.1 Safari/525.19"
Нет. Но почему Вы только не используете журналы своего веб-сервера? Значение GA не находится в данных, которые они собирают, но агрегирование/анализ. Вот почему это не назвало Google Raw Data.
Взгляните на эту статью, которая объясняет взлом для получения данных аналитики Google. http://blogoscoped.com/archive/2008-01-17-n73.html
Также, Если можно ожидать когда-то затем, в официальном блоге аналитики Google говорится, что они работают над API экспорта данных, но в настоящее время это находится в частной Бете. http://analytics.blogspot.com/2008/10/more-enterprise-class-features-added-to.html
Можно получить данные Аналитики, но потребуется немного взламывания.
В любом аналитическом отчете нажмите 'почтовую' кнопку наверху экрана. Настройте электронную почту, чтобы перейти к Вашему адресу (или новому адресу на Вашем сервере) и изменить формат на csv или xml.
Затем можно использовать php (или другой язык), чтобы проверить почтовый ящик, проанализировать электронную почту и импортировать вложение к системе.
Существует статья, наделенная правом 'Входящая корреспонденция и PHP' на evolt.org: http://evolt.org/incoming_mail_and_php