<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-15"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    I've installed Python 2.7 and I've changed the first row of
    "Proxy.cgi" file with "#! C:/Python27/python.exe -u"<br>
    <br>
    Simone<br>
    <pre class="moz-signature" cols="72">Simone Lella
Istituto per il Rilevamento Elettromagnetico dell'Ambiente
IREA - CNR (<a class="moz-txt-link-freetext" href="http://www.irea.cnr.it">http://www.irea.cnr.it</a>)
Via Bassini, 15
Tel. +39 02-23699299
Milano</pre>
    <br>
    Il 23/09/2010 11:13, Simone Lella ha scritto:
    <blockquote cite="mid:4C9B1A42.7070600@irea.cnr.it" type="cite">
      <meta http-equiv="content-type" content="text/html;
        charset=ISO-8859-15">
      Hi,<br>
      <br>
      I'm using MS4W with Windows 7.<br>
      When I call <a moz-do-not-send="true"
        class="moz-txt-link-rfc2396E"
        href="http://localhost:8081/cgi-bin/proxy.cgi">"http://localhost:8081/cgi-bin/proxy.cgi"</a>,
      the response is:<br>
      <br>
      <i>Internal Server Error<br>
      </i>
      <p><i>The server encountered an internal error or misconfiguration
          and was unable to complete your request.</i></p>
      <p><i>Please contact the server administrator, <a
            moz-do-not-send="true" class="moz-txt-link-abbreviated"
            href="mailto:admin@local.domain">admin@local.domain</a> and
          inform them of the time the error occurred, and anything you
          might have done that may have caused the error.</i></p>
      <p><i>More information about this error may be available in the
          server error log.<br>
        </i></p>
      <p><br>
        The "error.log" file contains:<br>
      </p>
      <p><small><small><i>[Thu Sep 23 09:49:43 2010] [warn] PassEnv
              variable PYTHONPATH was undefined<br>
              [Thu Sep 23 09:49:43 2010] [notice] Apache/2.2.10 (Win32)
              configured -- resuming normal operations<br>
              [Thu Sep 23 09:49:43 2010] [notice] Server built: Oct 10
              2008 12:39:04<br>
              [Thu Sep 23 09:49:43 2010] [notice] Parent: Created child
              process 2932<br>
              [Thu Sep 23 09:49:43 2010] [warn] PassEnv variable
              PYTHONPATH was undefined<br>
              [Thu Sep 23 09:49:44 2010] [warn] PassEnv variable
              PYTHONPATH was undefined<br>
              [Thu Sep 23 09:49:44 2010] [notice] Child 2932: Child
              process is running<br>
              [Thu Sep 23 09:49:44 2010] [notice] Child 2932: Acquired
              the start mutex.<br>
              [Thu Sep 23 09:49:44 2010] [notice] Child 2932: Starting
              64 worker threads.<br>
              [Thu Sep 23 09:49:44 2010] [notice] Child 2932: Starting
              thread to listen on port 8081.<br>
              [Thu Sep 23 09:50:13 2010] [error] [client 127.0.0.1] (OS
              2)Impossibile trovare il file specificato.  : couldn't
              create child process: 720002: proxy.cgi<br>
              [Thu Sep 23 09:50:13 2010] [error] [client 127.0.0.1] (OS
              2)Impossibile trovare il file specificato.  : couldn't
              spawn child process: C:/ms4w/Apache/cgi-bin/proxy.cgi</i></small></small></p>
      <p><br>
        The "proxy.cgi" file was created in
        "C:/ms4w/Apache/cgi-bin/proxy.cgi" and I've copied into the
        following text:<br>
      </p>
      <p><small><small><i>#!/usr/bin/env python<br>
              <br>
              """This is a blind proxy that we use to get around browser<br>
              restrictions that prevent the Javascript from loading
              pages not on the<br>
              same server as the Javascript.  This has several problems:
              it's less<br>
              efficient, it might break some sites, and it's a security
              risk because<br>
              people can use this proxy to browse the web and possibly
              do bad stuff<br>
              with it.  It only loads pages via http and https, but it
              can load any<br>
              content type. It supports GET and POST requests."""<br>
              <br>
              import urllib2<br>
              import cgi<br>
              import sys, os<br>
              <br>
              # Designed to prevent Open Proxy type stuff.<br>
              <br>
              allowedHosts = ['<a moz-do-not-send="true"
                class="moz-txt-link-abbreviated"
                href="http://www.openlayers.org">www.openlayers.org</a>',
              'openlayers.org', <br>
                              'labs.metacarta.com', 'world.freemap.in',
              <br>
                              'prototype.openmnnd.org',
              'geo.openplans.org',<br>
                              'sigma.openplans.org', 'demo.opengeo.org',<br>
                              '<a moz-do-not-send="true"
                class="moz-txt-link-abbreviated"
                href="http://www.openstreetmap.org">www.openstreetmap.org</a>',

              'sample.azavea.com',<br>
                              'v-swe.uni-muenster.de:8080', <br>
                              'vmap0.tiles.osgeo.org','localhost:8081']<br>
              <br>
              method = os.environ["REQUEST_METHOD"]<br>
              <br>
              if method == "POST":<br>
                  qs = os.environ["QUERY_STRING"]<br>
                  d = cgi.parse_qs(qs)<br>
                  if d.has_key("url"):<br>
                      url = d["url"][0]<br>
                  else:<br>
                      url = <a moz-do-not-send="true"
                class="moz-txt-link-rfc2396E"
                href="http://www.openlayers.org">"http://www.openlayers.org"</a><br>
              else:<br>
                  fs = cgi.FieldStorage()<br>
                  url = fs.getvalue('url', <a moz-do-not-send="true"
                class="moz-txt-link-rfc2396E"
                href="http://www.openlayers.org">"http://www.openlayers.org"</a>)<br>
              <br>
              try:<br>
                  host = url.split("/")[2]<br>
                  if allowedHosts and not host in allowedHosts:<br>
                      print "Status: 502 Bad Gateway"<br>
                      print "Content-Type: text/plain"<br>
                      print<br>
                      print "This proxy does not allow you to access
              that location (%s)." % (host,)<br>
                      print<br>
                      print os.environ<br>
               <br>
                  elif url.startswith(<a moz-do-not-send="true"
                class="moz-txt-link-rfc2396E" href="http://">"http://"</a>)
              or url.startswith(<a moz-do-not-send="true"
                class="moz-txt-link-rfc2396E" href="https://">"https://"</a>):<br>
                 <br>
                      if method == "POST":<br>
                          length = int(os.environ["CONTENT_LENGTH"])<br>
                          headers = {"Content-Type":
              os.environ["CONTENT_TYPE"]}<br>
                          body = sys.stdin.read(length)<br>
                          r = urllib2.Request(url, body, headers)<br>
                          y = urllib2.urlopen(r)<br>
                      else:<br>
                          y = urllib2.urlopen(url)<br>
                     <br>
                      # print content type header<br>
                      i = y.info()<br>
                      if i.has_key("Content-Type"):<br>
                          print "Content-Type: %s" % (i["Content-Type"])<br>
                      else:<br>
                          print "Content-Type: text/plain"<br>
                      print<br>
                     <br>
                      print y.read()<br>
                     <br>
                      y.close()<br>
                  else:<br>
                      print "Content-Type: text/plain"<br>
                      print<br>
                      print "Illegal request."<br>
              <br>
              except Exception, E:<br>
                  print "Status: 500 Unexpected Error"<br>
                  print "Content-Type: text/plain"<br>
                  print <br>
                  print "Some unexpected error occurred. Error text
              was:", E</i><br>
          </small></small></p>
      <p><small><small><br>
            I've modified "proxy.cgi" file at "allowedHosts" by adding
            "localhost:8081".<br>
          </small></small></p>
      <p><small><small>I must modify the first row of "proxy.cgi" file?<br>
            Can this issue related to the Windows 7 OS?</small></small><br>
      </p>
      <p><br>
        Thanks<br>
      </p>
      <p>Simone<br>
      </p>
      <br>
      <h1><b><u><small><small><small><br>
                </small></small></small></u></b></h1>
      <br>
      <p><br>
      </p>
      <pre class="moz-signature" cols="72">-- 
Simone Lella
Istituto per il Rilevamento Elettromagnetico dell'Ambiente
IREA - CNR (<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://www.irea.cnr.it">http://www.irea.cnr.it</a>)
Via Bassini, 15
Tel. +39 02-23699299
Milano</pre>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
mapserver-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:mapserver-users@lists.osgeo.org">mapserver-users@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/mapserver-users">http://lists.osgeo.org/mailman/listinfo/mapserver-users</a>
</pre>
    </blockquote>
  </body>
</html>