Php Python瓶API使用外部API访问时无Json响应
我用瓶子为openerp创建了一个api,效果很好 每当我使用浏览器访问时 例如: 它返回json值,并在使用python访问同一api时作出响应 但问题是,当我使用php从外部api访问它时,它不会响应或返回json数据 这是我的wgsi代码Php Python瓶API使用外部API访问时无Json响应,php,python,api,rest,bottle,Php,Python,Api,Rest,Bottle,我用瓶子为openerp创建了一个api,效果很好 每当我使用浏览器访问时 例如: 它返回json值,并在使用python访问同一api时作出响应 但问题是,当我使用php从外部api访问它时,它不会响应或返回json数据 这是我的wgsi代码 from bottle import Bottle,get,post,run,request,error,route,template,validate,debug,response import json import os
from bottle import Bottle,get,post,run,request,error,route,template,validate,debug,response
import json
import os
import sys
import bottle
@route ('/user_name=:user_name&password=:password', method='GET')
@route ('/user_name=:user_name&password=:password', method='POST')
def login_validate(user_name,password):
import xmlrpclib
print "test"
dbname = 'more'
sock_common = xmlrpclib.ServerProxy ('http://localhost:8069/xmlrpc/common')
uid = sock_common.login(dbname, user_name, password)
if uid:
sock = xmlrpclib.ServerProxy('http://localhost:8069/xmlrpc/object')
adv_fields = ['name']
adv_args=[('user_id','=',uid)]
adv_id = sock.execute(dbname, uid, password, 'res.partner', 'search', adv_args)
if adv_id:
res = sock.execute(dbname, uid, password, 'res.partner', 'read',adv_id, adv_fields) [0]
print res,type(res)
return json.dumps({'Sucesss':res['name']})
else:
return json.dumps({'Error':'User Found but not a partner'})
else:
return json.dumps({'Failure':'Invalid User Name or Password'})
application = bottle.default_app()
第一选择:禁用Apache gzip压缩 请参阅
Include mods enabled/*.load
和Include mods enabled/*.conf
,检查mods enabled
文件夹中是否有mod_deflate(Apache的gzip会话)的引用
如果您使用的是类似Debian的系统,您可以通过以下方式禁用它:
a2dismod deflate
service apache2 restart
如果您在RedHat/Centos上,请检查/etc/httpd/conf/httpd.conf
并编辑LoadModule
行
第二选择:阅读gzip响应
第一选择:禁用Apache gzip压缩 请参阅
Include mods enabled/*.load
和Include mods enabled/*.conf
,检查mods enabled
文件夹中是否有mod_deflate(Apache的gzip会话)的引用
如果您使用的是类似Debian的系统,您可以通过以下方式禁用它:
a2dismod deflate
service apache2 restart
如果您在RedHat/Centos上,请检查/etc/httpd/conf/httpd.conf
并编辑LoadModule
行
第二选择:阅读gzip响应
您可以发布一些调试信息吗?参数是否正确发送?一些
print(用户名、密码)
可能会有所帮助。当使用php内容类型访问时,返回的不是json,而是gzipHow。您到底在部署这个应用程序吗?涉及哪个web服务器?gzip似乎发生在wsgi之后,即:nginx,apache..我正在使用apache服务器和mod_wsgit如果gzip压缩是在apache方面,您可以发布配置吗?您可以发布一些调试信息吗?参数是否正确发送?一些print(用户名、密码)
可能会有所帮助。当使用php内容类型访问时,返回的不是json,而是gzipHow。您到底在部署这个应用程序吗?涉及哪个web服务器?gzip似乎发生在wsgi之后,即:nginx,apache..我正在使用apache服务器和mod_wsgit如果gzip压缩是在apache方面,你能发布配置吗?实际上问题是php开发人员的json使用了“json”而不是“JSONp”。我检查了他的代码后,我发现问题出在他这一方详细检查这一点实际上问题出在php开发人员的json上,他使用“json”而不是“JSONp”。在我检查了他的代码后,我发现问题出在他这一方详细检查这一点