Maison  >  Article  >  développement back-end  >  RequestHandler pour le développement Python du site Tornado : capture des entrées

RequestHandler pour le développement Python du site Tornado : capture des entrées

不言
不言avant
2018-10-19 17:16:052556parcourir
Le contenu de cet article concerne le site Web RequestHandler de Tornado développé en Python : capture d'entrée. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

La capture d'entrée fait référence aux fonctions et propriétés de l'outil utilisées dans RequestHandler pour obtenir les entrées du client. Par exemple, obtenir les paramètres d'URL, les paramètres de soumission de publication, etc.

1. get_argument(name), get_arguments(name)

RequestHandler.get_argument(name) et RequestHandler.get_arguments(name) renvoient tous deux la valeur du paramètre donné. get_argument obtient une valeur unique, tandis que get_arguments est utilisé lorsqu'il y a plusieurs valeurs dans le paramètre et renvoie une liste de plusieurs valeurs.
Remarque : utilisez ces deux méthodes pour obtenir une collection de paramètres interrogés dans l'URL et de paramètres soumis par POST.

2. get_query_argument(name), get_query_arguments(name)

Les fonctions sont similaires aux deux méthodes ci-dessus. La seule différence est que ces deux méthodes interrogent uniquement les paramètres de l'URL.

3. get_body_argument(name), get_body_arguments(name)

Les fonctions sont toujours similaires aux quatre méthodes ci-dessus. La seule différence est que ces deux méthodes interrogent uniquement les paramètres soumis par POST. .

Astuce : Dans le développement réel, les deux méthodes get_argument et get_arguments sont généralement utilisées, car elles contiendront les résultats de requête d'autres méthodes.

4. get_cookie(name,default=None)

Obtenir la valeur du cookie en fonction du nom du cookie

5. RequestHandler.request

Retourner la tornade. .httputil Attributs de l'instance de l'objet .HTTPServerRequest Grâce à cet objet, vous pouvez obtenir toutes les informations sur la requête HTTP, telles que :

from tornado.web import Application, RequestHandler
import tornado.ioloop


class DetailHandler(RequestHandler):
    def get(self):
        ip = self.request.remote_ip  # 获取客户端的IP地址
        host = self.request.host  # 获取请求的主机地址
        result="ip地址为%s,host为%s"%(ip,host)
        return self.write(result)


if __name__ == '__main__':
    app = Application([
        ("/request", DetailHandler)
    ])
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()

Entrée du navigateur : http://localhost:8888/request

Affichage de la page :

ip地址为::1,host为localhost:8888
Les propriétés de l'objet httputil.HTTPServerRequest couramment utilisées sont les suivantes :

属性名 说明
method HTTP请求方法,例如:GET、POST
uri 客户端请求的uri的完整内容。
path uri路径名,即不包含查询字符串
query uri中的查询字符串
version 客户端发送请求时使用的HTTP版本,例如:HTTP/1.1
headers 以字典方式的形式返回HTTP Headers
body 以字符串的形式返回HTTP消息体
remote_ip 客户端的IP地址
protocol 请求协议,例如:HTTP、HTTPS
host 请求消息的主机名
arguments 客户端提交的所有参数。
files 以字典形式返回客户端上传的文件,每个文件名对应一个HTTPFile
cookies 客户端提交的Cookies字典

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer