服务器端、客户端的模型,客服端发送的请求,服务端的响应

相当于启动了一个web server

install web.py 接口框架用到的包

http://webpy.org/tutorial3.zh-cn 官方网址

http://webpy.org/tutorial3.zh-cn

需要装一个web.py的包,接口就是用web.py来做的,文件上传之类的

可以看一下web.py的官方教程,学习一下服务器端程序时怎么写的

学学服务端编程的主题

pip install web.py

Urls=()路由

App表示路由在程序应用里全局生效

类里定义访问跟程序的对应关系,就是路由

def Get 表示对GET的请求做处理

上传文件时,html中有<form enctype=’multipart/form-data’ action=>,multipart/form-data-表明身份,action-提交表单

Action表单元素的value所提交的网页,用来验证捕获get或post的值是否正确,例如账户信息

Interface_index.py:

# -*- coding: utf-8 -*-

import web

from web import form

import cgi

#动态的往模板(templates是一个静态网页)里填充数据

render = web.template.render('templates/')

路由,访问跟程序的对应关系

urls = (

#’http://127.0.0.1:8080/’默认没加任何地址,会调用下边的index类的GET方法

'/', 'index',

#’http://127.0.0.1:8080/interface’加了/interface,会调用下边的interface类的GET或post方法

'/interface', 'interface'

)

app = web.application(urls, globals())

class index:

def GET(self):

#return "Hello, world!"

#print "hello world"

#form = myform()

# make sure you create a copy of the form by calling it (line above)

# Otherwise changes will appear globally

#print(form.render())

return render.formtest()#返回模板页面,没有任何东西

class interface:

def GET(self): return "hi"

def POST(self):

i = web.input()#是一个字典

print “i:”,i

return 'form value:',i.title#把字典key名为title的值给取到

if __name__=="__main__":

web.internalerror = web.debugerror

app.run()

formtest.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>haha</title>

</head>

<body>

<form method="post" action="interface">

<p><input type="text" name="title" /> <input type="submit" value="submit" /></p>

</form>

</body>

</form>

</html>

目录存放结构:

启动web.py服务

D:\test\study>python interface_index.py

http://0.0.0.0:8080/

访问http://127.0.0.1:8080/没加任何路径,访问index,就是返回一个页面

访问/interface路径,访问GET

http://127.0.0.1:8080/interface

访问post,在http://127.0.0.1:8080/页面,输入内容,点击submit后自动进行post访问,页面会调到http://127.0.0.1:8080/interface

# -*- coding: utf-8 -*-

import web

from web import form

import cgi

render = web.template.render('templates/')

#路由

urls = (

'/', 'index',

'/interface', 'interface'

)

app = web.application(urls, globals())

class index:

def GET(self):

#return "Hello, world!"

#print "hello world"

#form = myform()

# make sure you create a copy of the form by calling it (line above)

# Otherwise changes will appear globally

#print(form.render())

return render.formtest()

class interface:

def GET(self): return "hi"

def POST(self):

i = web.input()

print "i:",i

return 'form value:',i.title,i #form value是字符串

if __name__=="__main__":

web.internalerror = web.debugerror

app.run()

index页面输入helloxia点击submit

后台:

i: <Storage {'title': u'helloxia'}>

127.0.0.1:49925 - - [18/Jun/2018 22:36:05] "HTTP/1.1 POST /interface" - 200 OK

我提交的字段的名字作为key,值作为value

这就是介绍了一下服务器端是怎么工作的

python服务器端、客户端的模型,客服端发送请求,服务端进行响应(web.py)的更多相关文章

  1. 基于NIO的同步非阻塞编程完整案例,客户端发送请求,服务端获取数据并返回给客户端数据,客户端获取返回数据

    这块还是挺复杂的,挺难理解,但是多练几遍,多看看研究研究其实也就那样,就是一个Selector轮询的过程,这里想要双向通信,客户端和服务端都需要一个Selector,并一直轮询, 直接贴代码: Ser ...

  2. 记录下httpclient 发送请求 服务端用@RequestBody 自动接收参数 报415

    注解是post方式,那么检查以下内容:1. 你是否用了post请求2. 请求是否发送了数据3. 请求内容格式需要是 application/json .jquery 设置 contentType,-- ...

  3. android菜鸟学习笔记24----与服务器端交互(一)使用HttpURLConnection和HttpClient请求服务端数据

    主要是基于HTTP协议与服务端进行交互. 涉及到的类和接口有:URL.HttpURLConnection.HttpClient等 URL: 使用一个String类型的url构造一个URL对象,如: U ...

  4. WebApi用JilFormatter处理客户端序列化的字符串加密,之后在服务端解析。

    本文有改动,参考原文:https://www.cnblogs.com/liek/p/4888201.html https://www.cnblogs.com/tonykan/p/3963875.htm ...

  5. 在OneThink(ThinkPHP3.2.3)中整合阿里云OSS的PHP-SDK2.0.4,实现Web端直传,服务端签名直传并设置上传回调的实现流程

    在OneThink(ThinkPHP3.2.3)中整合阿里云OSS的PHP-SDK2.0.4,实现本地文件上传流程 by shuijingwan · 2016/01/13 1.SDK安装 github ...

  6. springboot+spring security +oauth2.0 demo搭建(password模式)(认证授权端与资源服务端分离的形式)

    项目security_simple(认证授权项目) 1.新建springboot项目 这儿选择springboot版本我选择的是2.0.6 点击finish后完成项目的创建 2.引入maven依赖  ...

  7. C# TCP socket发送大数据包时,接收端和发送端数据不一致 服务端接收Receive不完全

    简单的c# TCP通讯(TcpListener) C# 的TCP Socket (同步方式) C# 的TCP Socket (异步方式) C# 的tcp Socket设置自定义超时时间 C# TCP ...

  8. Query通过Ajax向PHP服务端发送请求并返回JSON数据

    Query通过Ajax向PHP服务端发送请求并返回JSON数据 服务端PHP读取MYSQL数据,并转换成JSON数据,传递给前端Javascript,并操作JSON数据.本文将通过实例演示了jQuer ...

  9. 【教程】【FLEX】#002 请求服务端数据(UrlLoader)

    为什么Flex需要请求服务端读取数据,而不是自己读取? Flex 是一门界面语言,主要是做界面展示的,它能实现很多绚丽的效果,这个是传统Web项目部能比的. 但是它对数据库和文件的读写 没有良好的支持 ...

随机推荐

  1. IOS控制系统手势返回

    self.navigationController.interactivePopGestureRecognizer.enabled = YES; //手势返回的代理,如果自定义了leftButtonI ...

  2. python nose测试框架全面介绍八---接口测试中非法参数的断言

    在测接口时,会有这样的场景,输入非法的参数,校验返回的错误码及错误内容 通常做法为发请求,将错误的返回结果拿出,再进行对比匹配:但存在一个问题,需要再写错误返回分析函数,不能与之前正常发请求的函数共用 ...

  3. 美团店铺评价语言处理以及文本分类(logistic regression)

    美团店铺评价语言处理以及分类(LogisticRegression) 第一篇 数据清洗与分析部分 第二篇 可视化部分, 第三篇 朴素贝叶斯文本分类 本文是该系列的第四篇 主要讨论逻辑回归分类算法的参数 ...

  4. 8.28 jQuery

    2018-8-28 18:25:27 jQuery 参考:https://www.cnblogs.com/liwenzhou/p/8178806.html 2018-8-28 19:53:19 还是讲 ...

  5. easyui treegrid idField 所在属性中值有花括号(如Guid)当有鼠标事件时会报错,行记录一下

    easyui treegrid idField 所在属性中值有花括号(如Guid)当有鼠标事件时会报错,行记录一下

  6. CTP API 开发之二 :制作CTP java版 API

    目前上期技术CTP系统提供的API版本是C++版本 SWIG是一个能将C/C++接口转换为其他语言的工具,目前可以支持Python,Java,R等语言. 本文主要介绍Windows 32/64位平台下 ...

  7. 分治法及其python实现例子

    在前面的排序算法学习中,归并排序和快速排序就是用的分治法,分治法作为三大算法之一的,有非常多的应用例子. 分治法概念 将一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题-- ...

  8. 内核futex的BUG导致程序hang死问题排查

    https://mp.weixin.qq.com/s/sGS-Kw18sDnGEMfQrbPbVw 内核futex的BUG导致程序hang死问题排查 原创: 王领先 58架构师 今天   近日,Had ...

  9. pandas1

    https://www.cnblogs.com/nxld/p/6058591.html

  10. JQUERY中各个ajax函数

    1.$(selecter).load()     --- load() 方法从服务器加载数据,并把返回的数据放入被选元素中 2.$.get(url,callback()) 3.$.post(url,d ...