koga021 0 Denunciar post Postado Abril 23, 2015 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