Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

koga021

WebServer Rest Python + Tornado.

Recommended Posts

Boa noite galera, estou construindo um Webserver Rest com Python e Tornado.

A construção esta do seguinte modo:

BackEnd -> Python + Tornado na porta 8888

FrontEnd -> Apache + PHP na porta 80

 

Codigo do Python + Tornado

from datetime import date
import tornado.escape
import tornado.ioloop
import tornado.web
 
class VersionHandler(tornado.web.RequestHandler):
    def get(self):
        response = { 'version': '3.5.1',
                     'last_build':  date.today().isoformat() }
        self.write(response)
	self.set_header("Content-Type", "application/json")
 
class GetGameByIdHandler(tornado.web.RequestHandler):
    def get(self, id):
        response = { 'id': int(id),
                     'name': 'Crazy Game',
                     'release_date': date.today().isoformat() }
        self.write(response)
 
application = tornado.web.Application([
    (r"/getgamebyid/([0-9]+)", GetGameByIdHandler),
    (r"/version", VersionHandler)
])
 
if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()

Meu problema e conseguir acessar os dados no formato JSON usando o PHP.

Codigo do PHP

<?php
//phpinfo();
header('Content-Type: application/json; charset=utf-8');
//$url='http://192.168.0.9:8080/version';
//$url='http://127.0.0.1:8080/';
//$url='http://localhost:8080/version';

$url='http://localhost:8888/version';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
echo $data;



?>

Se eu fizer um wget ou curl no link http://localhost:8888/version ele funciona sem problemas.

 

Inclusive eu ate fiz um script em python para ele ler o JSON e funciona também sem problemas.

Abaixo o código:

import urllib,json
url="http://localhost:8888/version"
response=urllib.urlopen(url)
data=json.loads(response.read())
print data
print data['version']

Como eu consigo fazer consultas com o PHP ao meu webserver rest JSON ??

Please se alguem souber ajude o amigo ;)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.