[Gfoss] OpenLayers.ProxyHost

Non riesco ad impostare OpenLayers.ProxyHost = "cgi-bin/proxy.cgi?url=";
non trovo nulla nemmeno sui forum,
qualcuno sa darmi qualche dritta?

in questa pagina vi posto l'errore

http://www.pianificazioneterritoriale.it/webgis/test13.html

Grazie

ecco invece il proxy.cgi:

#!/usr/bin/env python

"""This is a blind proxy that we use to get around browser
restrictions that prevent the Javascript from loading pages not on the
same server as the Javascript. This has several problems: it's less
efficient, it might break some sites, and it's a security risk because
people can use this proxy to browse the web and possibly do bad stuff
with it. It only loads pages via http and https, but it can load any
content type. It supports GET and POST requests."""

import urllib2
import cgi
import sys, os

# Designed to prevent Open Proxy type stuff.

allowedHosts = ['www.openlayers.org', 'openlayers.org',
                'labs.metacarta.com', 'world.freemap.in',
                'prototype.openmnnd.org', 'geo.openplans.org',
                'sigma.openplans.org', 'demo.opengeo.org',
                'www.openstreetmap.org', 'sample.azavea.com',
                'v2.suite.opengeo.org', 'v-swe.uni-muenster.de:8080',
                'vmap0.tiles.osgeo.org', 'www.openrouteservice.org',
                'maps.wien.gv.at',
    'http://95.110.171.18:8208',
    'http://95.110.171.18:80',
    'http://95.110.171.18:8208/geoserver/vin/wms?‘,
    'http://95.110.171.18:80/geoserver/vin/wms?’,
    '95.110.171.18:8208',
    '95.110.171.18:80',
    '95.110.171.18:8208/geoserver/vin/wms?',
    '95.110.171.18:80/geoserver/vin/wms?'
    ]

method = os.environ["REQUEST_METHOD"]

if method == "POST":
    qs = os.environ["QUERY_STRING"]
    d = cgi.parse_qs(qs)
    if d.has_key("url"):
        url = d["url"][0]
    else:
        url = "http://www.openlayers.org"
else:
    fs = cgi.FieldStorage()
    url = fs.getvalue('url', "http://www.openlayers.org")

try:
    host = url.split("/")[2]
    if allowedHosts and not host in allowedHosts:
        print "Status: 502 Bad Gateway"
        print "Content-Type: text/plain"
        print
        print "This proxy does not allow you to access that location (%s)."
% (host,)
        print
        print os.environ
  
    elif url.startswith("http://") or url.startswith("https://"):
    
        if method == "POST":
            length = int(os.environ["CONTENT_LENGTH"])
            headers = {"Content-Type": os.environ["CONTENT_TYPE"]}
            body = sys.stdin.read(length)
            r = urllib2.Request(url, body, headers)
            y = urllib2.urlopen(r)
        else:
            y = urllib2.urlopen(url)
        
        # print content type header
        i = y.info()
        if i.has_key("Content-Type"):
            print "Content-Type: %s" % (i["Content-Type"])
        else:
            print "Content-Type: text/plain"
        print
        
        print y.read()
        
        y.close()
    else:
        print "Content-Type: text/plain"
        print
        print "Illegal request."

except Exception, E:
    print "Status: 500 Unexpected Error"
    print "Content-Type: text/plain"
    print
    print "Some unexpected error occurred. Error text was:", E

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/OpenLayers-ProxyHost-tp7582408.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

On Mon, May 27, 2013 at 9:38 AM, vinhez <vincenzo.pilloni@gmail.com> wrote:

Non riesco ad impostare OpenLayers.ProxyHost = "cgi-bin/proxy.cgi?url=";
non trovo nulla nemmeno sui forum,
qualcuno sa darmi qualche dritta?

in questa pagina vi posto l'errore

http://www.pianificazioneterritoriale.it/webgis/test13.html

dalla pagina di cui hai riportato il link non si evincono errori,
pero' Apache da un Internal Server Error accedendo al tuo proxy.
Ti consiglio come prima cosa di controllare il log di Apache
ciao
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti

Ho controllato il log errori di apache, l’unico errore ricorsivo è il seguente:

[Mon May 27 11:43:55 2013] [error] [client 195.130.213.9] File does
not exist: /web/htdocs/www.pianificazioneterritoriale.it/home/favicon.ico

Può essere un problema avere il dominio su server aruba e tomcat su un
altro host?
anche se in realtà lo stesso problema lo riscontro anche in locale.
Inoltre, la cosa strana, anche se il comando è differente (senza
proxy), e non dà problemi solo con le versioni vecchie di
openlayer.js, che in questo caso funziona:

http://www.pianificazioneterritoriale.it/webgis/test10.html

A me cmq interesserebbe risolvere il problema postato all’inizio.

Il 27 maggio 2013 11:30, Paolo Corti [via Gfoss – Geographic Free and
Open Source Software - Italian mailing list]
<[hidden email]> ha scritto:

On Mon, May 27, 2013 at 9:38 AM, vinhez <[hidden email]> wrote:

Non riesco ad impostare OpenLayers.ProxyHost = “cgi-bin/proxy.cgi?url=”;
non trovo nulla nemmeno sui forum,
qualcuno sa darmi qualche dritta?

in questa pagina vi posto l’errore

http://www.pianificazioneterritoriale.it/webgis/test13.html

dalla pagina di cui hai riportato il link non si evincono errori,
pero’ Apache da un Internal Server Error accedendo al tuo proxy.
Ti consiglio come prima cosa di controllare il log di Apache
ciao
p


Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti


[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell’Associazione GFOSS.it.
638 iscritti al 28.2.2013


If you reply to this email, your message will be added to the discussion
below:
http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/OpenLayers-ProxyHost-tp7582408p7582411.html
To unsubscribe from OpenLayers.ProxyHost, click here.
NAML


Vincenzo


View this message in context: Re: OpenLayers.ProxyHost
Sent from the Gfoss – Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

2013/5/27 vinhez <vincenzo.pilloni@gmail.com>:

Ho controllato il log errori di apache, l'unico errore ricorsivo è il
seguente:

[Mon May 27 11:43:55 2013] [error] [client 195.130.213.9] File does
not exist: /web/htdocs/www.pianificazioneterritoriale.it/home/favicon.ico

No, quell'errore non c'entra nulla.
Sei sicuro che stai guardando il log giusto?
Perche' in caso di Internal Server Error Apache deve loggare
necessariamente qualcosa di piu' significativo.

ciao
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti

Ho provato in locale, FUNZIONA!
Prima però ho dovuto copiare il file proxy.cgi in usr/lib/cgi-bin (su
ubuntu linux)
a questo punto la mia domanda è questa,
sapete se su hosting aruba è possibile configurare il proxy? oppure se
è possibile
farlo puntare su un altra cartella?

Il 27 maggio 2013 12:03, Paolo Corti [via Gfoss – Geographic Free and
Open Source Software - Italian mailing list]
<[hidden email]> ha scritto:

2013/5/27 vinhez <[hidden email]>:

Ho controllato il log errori di apache, l’unico errore ricorsivo è il
seguente:

[Mon May 27 11:43:55 2013] [error] [client 195.130.213.9] File does
not exist: /web/htdocs/www.pianificazioneterritoriale.it/home/favicon.ico

No, quell’errore non c’entra nulla.
Sei sicuro che stai guardando il log giusto?
Perche’ in caso di Internal Server Error Apache deve loggare
necessariamente qualcosa di piu’ significativo.

ciao
p


Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti


[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell’Associazione GFOSS.it.
638 iscritti al 28.2.2013


If you reply to this email, your message will be added to the discussion
below:
http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/OpenLayers-ProxyHost-tp7582408p7582413.html
To unsubscribe from OpenLayers.ProxyHost, click here.
NAML


Vincenzo


View this message in context: Re: OpenLayers.ProxyHost
Sent from the Gfoss – Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

2013/5/27 vinhez <vincenzo.pilloni@gmail.com>:

Ho provato in locale, FUNZIONA!
Prima però ho dovuto copiare il file proxy.cgi in usr/lib/cgi-bin (su
ubuntu linux)
a questo punto la mia domanda è questa,
sapete se su hosting aruba è possibile configurare il proxy? oppure se
è possibile
farlo puntare su un altra cartella?

Dubito fortemente che aruba te lo faccia fare.
Pero' puoi sempre farti un tuo script analogo con funzionalita' di
proxy (ad es usando php, supportato da Aruba), non e' necessario che
venga lanciato come script cgi.
ciao
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti

Ottima idea, ma non ho garnde dimestichezza,
sai se in rete esistono degli script in php che convertono quello script.cgi

Il 27 maggio 2013 16:52, Paolo Corti [via Gfoss – Geographic Free and
Open Source Software - Italian mailing list]
<[hidden email]> ha scritto:

2013/5/27 vinhez <[hidden email]>:

Ho provato in locale, FUNZIONA!
Prima però ho dovuto copiare il file proxy.cgi in usr/lib/cgi-bin (su
ubuntu linux)
a questo punto la mia domanda è questa,
sapete se su hosting aruba è possibile configurare il proxy? oppure se
è possibile
farlo puntare su un altra cartella?

Dubito fortemente che aruba te lo faccia fare.
Pero’ puoi sempre farti un tuo script analogo con funzionalita’ di
proxy (ad es usando php, supportato da Aruba), non e’ necessario che
venga lanciato come script cgi.
ciao
p


Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti


[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell’Associazione GFOSS.it.
638 iscritti al 28.2.2013


If you reply to this email, your message will be added to the discussion
below:
http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/OpenLayers-ProxyHost-tp7582408p7582421.html
To unsubscribe from OpenLayers.ProxyHost, click here.
NAML


Vincenzo


View this message in context: Re: OpenLayers.ProxyHost
Sent from the Gfoss – Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

2013/5/27 vinhez <vincenzo.pilloni@gmail.com>:

Ottima idea, ma non ho garnde dimestichezza,
sai se in rete esistono degli script in php che convertono quello script.cgi

cercando "php proxy.cgi openlayers" su google questo e' uno dei primi risultati:
http://gis.stackexchange.com/questions/56829/how-to-configure-wfs-layer-with-openlayer-in-php-wampserver-with-windows

ciao
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti

Ok gentilissimo.

io leggevo questo:

http://khayer.wordpress.com/2010/07/14/open-layer-with-geosever/

può essere un utile guida, una volta risolto ciò posterò il tutto…

2013/5/27 Paolo Corti [via Gfoss – Geographic Free and Open Source
Software - Italian mailing list]
<[hidden email]>:

2013/5/27 vinhez <[hidden email]>:

Ottima idea, ma non ho garnde dimestichezza,
sai se in rete esistono degli script in php che convertono quello
script.cgi

cercando “php proxy.cgi openlayers” su google questo e’ uno dei primi
risultati:
http://gis.stackexchange.com/questions/56829/how-to-configure-wfs-layer-with-openlayer-in-php-wampserver-with-windows

ciao
p


Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti


[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell’Associazione GFOSS.it.
638 iscritti al 28.2.2013


If you reply to this email, your message will be added to the discussion
below:
http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/OpenLayers-ProxyHost-tp7582408p7582424.html
To unsubscribe from OpenLayers.ProxyHost, click here.
NAML


Vincenzo


View this message in context: Re: OpenLayers.ProxyHost
Sent from the Gfoss – Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

ok ci sono riuscito..
però funziona solo a momenti, poi si blocca, perchè?
non riesco a capire, il codice .php parrebbe funzionare.

http://www.pianificazioneterritoriale.it/webgis/test16.html

Ecco lo script proxy.php usato:

<?php
/*
License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
$Id: proxy.php 3650 2007-11-28 00:26:06Z rdewit $
$Name$
*/

////////////////////////////////////////////////////////////////////////////////
// Description:
// Script to redirect the request http://host/proxy.php?url=http://someUrl
// to http://someUrl .
//
// This script can be used to circumvent javascript's security requirements
// which prevent a URL from an external web site being called.
//
// Author: Nedjo Rogers
////////////////////////////////////////////////////////////////////////////////

// read in the variables

if(array_key_exists('HTTP_SERVERURL', $_SERVER)){
  $onlineresource=$_SERVER['HTTP_SERVERURL'];
}else{
  $onlineresource=$_REQUEST['url'];
}
$parsed = parse_url($onlineresource);
$host = @$parsed["host"];
$path = @$parsed["path"] . "?" . @$parsed["query"];
if(empty($host)) {
  $host = "localhost";
}
$port = @$parsed['port'];
if(empty($port)){
  $port="80";
}
$contenttype = @$_REQUEST['contenttype'];
if(empty($contenttype)) {
  $contenttype = "text/xml";
}
$data = @$GLOBALS["HTTP_RAW_POST_DATA"];
// define content type
header("Content-type: " . $contenttype);

if(empty($data)) {
  $result = send_request();
}
else {
  // post XML
  $posting = new HTTP_Client($host, $port, $data);
  $posting->set_path($path);
  $result = $posting->send_request();
}

// strip leading text from result and output result
$len=strlen($result);
$pos = strpos($result, "<");
if($pos > 1) {
  $result = substr($result, $pos, $len);
}
//$result = str_replace("xlink:","",$result);
echo $result;

// define class with functions to open socket and post XML
// from http://www.phpbuilder.com/annotate/message.php3?id=1013274 by
Richard Hundt

class HTTP_Client {
  var $host;
  var $path;
  var $port;
  var $data;
  var $socket;
  var $errno;
  var $errstr;
  var $timeout;
  var $buf;
  var $result;
  var $agent_name = "MyAgent";
  //Constructor, timeout 30s
  function HTTP_Client($host, $port, $data, $timeout = 30) {
    $this->host = $host;
    $this->port = $port;
    $this->data = $data;
    $this->timeout = $timeout;
  }

  //Opens a connection
  function connect() {
    $this->socket = fsockopen($this->host,
      $this->port,
      $this->errno,
      $this->errstr,
      $this->timeout
      );
    if(!$this->socket)
      return false;
    else
      return true;
  }

  //Set the path
  function set_path($path) {
    $this->path = $path;
  }

  //Send request and clean up
  function send_request() {
    if(!$this->connect()) {
      return false;
    }
    else {
      $this->result = $this->request($this->data);
      return $this->result;
    }
  }

  function request($data) {
    $this->buf = "";
    fwrite($this->socket,
      "POST $this->path HTTP/1.0\r\n".
      "Host:$this->host\r\n".
      "User-Agent: $this->agent_name\r\n".
      "Content-Type: application/xml\r\n".
      "Content-Length: ".strlen($data).
      "\r\n".
      "\r\n".$data.
      "\r\n"
    );

    while(!feof($this->socket))
      $this->buf .= fgets($this->socket, 2048);
      $this->close();
      return $this->buf;
  }

  function close() {
    fclose($this->socket);
  }
}

function send_request() {
  global $onlineresource;
  $ch = curl_init();
  $timeout = 5; // set to zero for no timeout

  // fix to allow HTTPS connections with incorrect certificates
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);

  curl_setopt ($ch, CURLOPT_URL,$onlineresource);
  curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  curl_setopt ($ch, CURLOPT_ENCODING , "gzip, deflate");

  $file_contents = curl_exec($ch);
  curl_close($ch);
  $lines = array();
  $lines = explode("\n", $file_contents);
  if(!($response = $lines)) {
    echo "Unable to retrieve file '$service_request'";
  }
  $response = implode("",$response);
  return $response;
}
?>

2013/5/27 vinhez <vincenzo.pilloni@gmail.com>:

Ok gentilissimo.

io leggevo questo:

http://khayer.wordpress.com/2010/07/14/open-layer-with-geosever/

può essere un utile guida, una volta risolto ciò posterò il tutto..

2013/5/27 Paolo Corti [via Gfoss -- Geographic Free and Open Source
Software - Italian mailing list]
<[hidden email]>:

2013/5/27 vinhez <[hidden email]>:

Ottima idea, ma non ho garnde dimestichezza,
sai se in rete esistono degli script in php che convertono quello
script.cgi

cercando "php proxy.cgi openlayers" su google questo e' uno dei primi
risultati:

http://gis.stackexchange.com/questions/56829/how-to-configure-wfs-layer-with-openlayer-in-php-wampserver-with-windows

ciao
p

--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell'Associazione GFOSS.it.
638 iscritti al 28.2.2013

________________________________
If you reply to this email, your message will be added to the discussion
below:

http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/OpenLayers-ProxyHost-tp7582408p7582424.html

To unsubscribe from OpenLayers.ProxyHost, click here.
NAML

--
Vincenzo

________________________________
View this message in context: Re: OpenLayers.ProxyHost
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian
mailing list mailing list archive at Nabble.com.

_______________________________________________
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell'Associazione GFOSS.it.
638 iscritti al 28.2.2013

--
Vincenzo