丢失日期Http标题的奇怪问题

时间:2014-10-09 17:32:00

标签: python http amazon-web-services elastic-beanstalk urlfetch

我有一个发出url请求的python代码(在googeappenigne环境中):

urlfetch.fetch("http://path_to_my_servlet", 
headers={'Date': (now_datetime - timedelta(days=1)).strftime("%a, %d %b %Y %H:%M:%S GMT"),
         'X-This-Is-A-Header': now_datetime.strftime("%a, %d %b %Y %H:%M:%S GMT"))

我正在我的Mac上测试它,我看到使用wireshark的请求,并且发送了Date标头。

URL指向我的servlet,只是打印标题:

        StringBuffer sb = 
           new StringBuffer("<HTML><HEAD><TITLE>HTTP Headers</TITLE></HEAD><BODY>");
        Enumeration<String> headerNames = request.getHeaderNames();
        sb.append("<table border='1'><tr><th>Name</th><th>Value</th></tr>");
        while (headerNames.hasMoreElements()) {
            sb.append("<tr><td>");
            String headerName = headerNames.nextElement();
            sb.append(headerName).append("</td>");
            Enumeration<String> headerValues = request.getHeaders(headerName);
            boolean isFirst = true;
            while (headerValues.hasMoreElements()) {
                if (isFirst)
                    sb.append("<td>");
                else
                    sb.append("</td></tr><tr><td></td><td>\n");
                String headerValue = headerValues.nextElement();
                sb.append(headerValue);
                isFirst = false;
            }
            sb.append("</td></tr>");
        }

        sb.append("</table><br/></BODY></HTML>");
        PrintWriter out = response.getWriter();
        response.setContentType("text/html");
        out.print(sb.toString());

但是,不打印日期标题。 servlet在Elastic beanstalk负载均衡环境中运行。输出如下:

<HTML><HEAD><TITLE>HTTP Headers</TITLE></HEAD><BODY>
<table border='1'>
<tr><th>Name</th><th>Value</th></tr>
<tr><td>host</td><td>myserver.elasticbeanstalk.com</td></tr>
<tr><td>accept-encoding</td><td>gzip</td></tr>
<tr><td>connection</td><td>Keep-Alive</td></tr>
<tr><td>x-forwarded-host</td><td>myserver.elasticbeanstalk.com</td></tr>
<tr><td>x-forwarded-server</td><td>myserverip.us-west-2.compute.internal</td></tr>


我尝试发送'date'标题(没有大写字母D),甚至发送一个额外的日期自定义标题以查看它是否已打印。使用“邮递员”从浏览器向标题添加日期时,将打印日期。

我的日期格式错误并以某种方式过滤了吗?任何想法,任何人?

0 个答案:

没有答案