0

要求された国のフラグの svg イメージをレンダリングする簡単なプログラムを作成しました。画像が存在することを確認するには、最初に確認したいと思います。ただし、次の例外が発生します: HTTPException: URL からの HTTP 応答を待っている間に期限が超過しました: http://localhost:8087/images/flag_images/Flag_of_Nepal.svg

これは、タイムアウトに設定した値に関係なく発生します。同じポートで内部サーバーを呼び出すことはできませんか? ところで、私はGAEを使用しています。

class backbone(Handler):
def render_front(self):
    User_id = self.request.cookies.get('user_id')
    if User_id:
        Valid_User = check_secure_val(User_id)
        if Valid_User:
            p  = UserAccount.get_by_id(int(Valid_User))
            User = p.User
        else:
            User = ""
    else:
        User = ""
    self.render("backbone.html", image = "")


def get(self):
    self.render_front()

def post(self):
    a = self.request.get('country')
    image = self.exists('localhost', 8087, ("/images/flag_images/Flag_of_%s.svg" %a))
    if image:
        self.render('backbone.html', image = '<img src = "/images/flag_images/Flag_of_%s.svg" alt="" width="60" height="45"/>'  % a)    
    else:
        self.render('backbone.html', image = '<img src = "/images/flag_images/NoFlag.svg" alt="" width="60" height="45"/>'  % a)    


def exists(self, site, port, path):
    conn = httplib.HTTPConnection(site, port, timeout= 40)
    conn.request('GET', path)
    response = conn.getresponse()
    conn.close()
    return response.status == 200
4

1 に答える 1

0

GAE でそのように localhost を使用することはできません。外部 URL 参照が必要です。ローカル マシンから GAE にイメージを取得しようとしている場合は、ルーターでそのポートを開く必要があります。http://portforward.com/を参照してから、 https://wwwから取得した IP アドレスを接続します。 .google.com/?q=what+is+my+ipを URL として使用します。たとえば、私にとっては次のようなものになりますhttp://67.84.162.157:8000/images/usa.svg

于 2012-11-30T03:22:05.933 に答える