Custom LogFormat - регистрировать все заголовки - PullRequest
0 голосов
/ 20 сентября 2011

Некоторые мобильные шлюзы передают пользовательские заголовки на мой сайт.Эти заголовки передаются в различных форматах, иногда x-msisdn, иногда x-up-call-line-id и другие.Как я могу записать все заголовки, переданные в моем собственном формате журнала?

Ответы [ 2 ]

0 голосов
/ 30 декабря 2012

Вы также можете прослушать сетевой интерфейс, чтобы сделать это.

Wireshark имеет tshark (apt-get install tshark) tshark 'tcp port 80 и (((ip [2: 2] - ((ip []0] & 0xf) << 2)) - ((tcp [12] & 0xf0) >> 2))! = 0) '-R'http.request.method == "GET" ||http.request.method == "HEAD" '

(выше взято из http://andy.wordpress.com/2008/07/10/sniffing-http/ tshark - новое имя для tethereal)

или используйте что-то вроде https://github.com/caesar0301/http-sniffer

0 голосов
/ 14 февраля 2012

Через Apache HTTPD Я не уверен, как регистрировать все заголовки - только как зарегистрировать один заголовок, о котором вы знаете.

Используя стандартный модуль Apache httpd mod_log_config, вы можете указать следующую опцию в директиве CustomLog.

% {Foobar} i Содержимое Foobar: строки заголовка в запросе, отправленном на сервер. Изменения, сделанные другими модулями (например, mod_headers), влияют на это.

Однако вы можете сделать это в jsp (если это то, что вы используете случайно)

<!-- method used to send request
<%= request.getMethod() %>

URI of the request
<%= request.getRequestURI() %>

  <%
     /*This method returns an enumeration of all the header names this 
       request contains.*/       
  java.util.Enumeration names = request.getHeaderNames();
  while (names.hasMoreElements()) {
     String hname = (String)names.nextElement();
  %>

     <%= hname %>
     <%= request.getHeader(hname) %>
  <%
  }
  %>
--!>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...