Post con tag http

Java EE 5: ottenere i valori multipli di un parametro

Quando sviluppiamo applicazioni web in Java utilizzando i servlet o le JSP, può essere necessario ottenere i valori multipli di un determinato parametro passato tramite la richiesta HTTP dal client.
Utilizzando un oggetto javax.servlet.http.HttpServletRequest, abbiamo due semplici metodi per ottenerli:

Map getParameterMap()
String[] getParameterValues(String name)

Il secondo metodo ritorna un array di valori (eventualmente di lunghezza 1) corrispondenti al nome del parametro dato.
Il primo metodo, invece, ritorna una mappa dove le chiavi sono di tipo String (il nome del parametro), mentre i valori sono array di String (i valori del relativo parametro).

Continua >

JSP: ottenere informazioni sugli header della richiesta HTTP

L’oggetto implicito request di tipo javax.servlet.http.HttpServletRequest, grazie ai metodi:

Enumeration getHeaderNames()
String getHeader(String name)

ci consente di ottenere le informazioni i valori degli header passati tramite la richiesta HTTP.
In particolare, il primo metodo ci fornisce una enumerazione contenete i nomi degli header. Il secondo metodo ci permette di ottenere il valore di un header a partire dal suo nome.

L’esempio che segue ci mostra come possiamo, molto semplicemente, stampare gli header:

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Request test</title>
    </head>

    <body>
        <%
            java.util.Enumeration headers = request.getHeaderNames();

            while(headers.hasMoreElements())
            {
                java.lang.String headerName = (String)headers.nextElement();
                out.print(headerName);
                out.print(" = ");
                out.print(request.getHeader(headerName));
                out.print("<br/>");
            }
        %>
    </body>

</html>

Semplice downloader HTTP in Python

Effettuare il download di una pagina web in Python, tramite socket, è un lavoro abbastanza semplice.
Più arduo è il parsing della risposta, la gestione del traferimento ecc…
Nonostante ciò, è possibile, con poche linee di codice, avere un programma funzionante:
Continua >