2014-02-04 1 views
0

Я создал API на удаленном сервере, используя бутылку. Когда я начинаю хостинг, а затем пытаюсь получить доступ к API через браузер, запрос не получает ответа. Фактически, запрос не достигает самого сервера. Однако, используя то же самое с wget, я получаю требуемый ответ. Вот код:API, созданный с использованием бутылки, не работающей в браузере

from pymongo import MongoClient 
import json 
from twython import Twython 
from bottle import route, request, response, run 
client = MongoClient() 
db = client.PWSocial 
tweets = db.tweets 
follower_count = db.follower_count 
APP_KEY = 'XXXX' 
APP_SECRET = 'XXXX' 
OAUTH_TOKEN = 'XXXX' 
OAUTH_TOKEN_SECRET = 'XXXX' 
twitter = Twython(APP_KEY, APP_SECRET,OAUTH_TOKEN, OAUTH_TOKEN_SECRET) 
id_list = [57947109, 183093247, 89443197, 431336956] 

@route('/') 
def hello(): 
    dict1 = {'me': 'hello'} 
    result = json.dumps(dict1) 
    return result 

@route('/api/follower') 
def disp_follower(): 
    ac_id = request.query.id 
    fc = list(follower_count.find({'id': ac_id})) 
    mydict = fc[0] 
    del mydict['_id'] 
    result = json.dumps(mydict) 
    return result 

@route('/api/retweet') 
def rt(): 
    ac_id = request.query.id 
    retweets = db.retweets 
    rt = list(retweets.find({'usr_id': ac_id})) 
    result = json.dumps(rt) 
    return result 

@route('/api/favorite') 
def fav(): 
    ac_id = request.query.id 
    retweets = db.retweets 
    rt = list(retweets.find({'id': ac_id}, sort=[('rt_count',-1)], limit= 100)) 
    mydict = {} 
    for i in rt: 
     a = i.get('id') 
     status = twitter.show_status(id = a) 
     b = status.get('favorite_count') 
     mydict[a] = b 
    result = json.dumps(mydict) 
    return result 

@route('/api/max_rt') 
def most_rt(): 
    ac_id = request.query.id 
    retweets = db.retweets 
    rt = list(retweets.find({'usr_id': ac_id}, {'usr_id':57947109},sort=[('rt_co 
    result = json.dumps(rt) 
    return result 

run(host= '180.179.212.200', debug=True) 

Может кто-нибудь предложить причину и решение для этого?

+0

Какой запрос вы делаете? –

+0

@ LutzHorn: Делаем запросы на получение .. –

+0

В * подробнее *: какой маршрут, какие заголовки? –

ответ

0

Нашел ответ, на самом деле это проблема с брандмауэром simpple. Должно быть создано отверстие в брандмауэре для запуска любого такого API.

+0

Привет Apoorv, не могли бы вы объяснить, как вы решили это? Спасибо! –

 Смежные вопросы

  • Нет связанных вопросов^_^