POST方法向网站发送数据

server.py

import flask
app = flask.Flask(__name__) @app.route('/', methods=['GET','POST'])
def index():
try:
province = flask.request.form.get('province')
city = flask.request.form.get('city')
note = flask.request.form.get('note')
print(province, city, note)
return province + "\n" + city + "\b" + note
except Exception as e:
print(e) debug = True
if __name__ == '__main__':
app.run()

client.py

import urllib.request
import urllib.parse url = "http://127.0.0.1:5000" province = "山东"
city = "青岛"
note = "青岛地处山东半岛东南部沿海,胶东半岛东部,濒临黄海,隔海与朝鲜半岛相望,地处中日韩自贸区的前沿地带; 东北与烟台毗邻,西与潍坊相连,西南与日照接壤; 青岛因地理位置优越继而1891年清政府驻兵建置,1897年德国租借建设港口和铁路,青岛因“一港一路”而兴,拥有国际性海港和区域性枢纽航空港,是实施海上丝绸之路、履行国家一带一路战略重要的枢纽型城市。" # urllib.parse模块中的一个方法,用于将字符串进行URL编码,URL编码是将URL中的非ASCII字符和一些特殊字符转换成特定的格式
province = urllib.parse.quote(province)
city = urllib.parse.quote(city)
province = urllib.parse.quote(province) pc = "province=" + province + "&city=" + city + "¬e=" + note response = urllib.request.urlopen(url, data = pc.encode())
data = response.read()
html = data.decode("utf-8")
print(html)

post发送中文数据

server.py

import flask
app = flask.Flask(__name__) @app.route('/', methods=['GET','POST'])
def index():
try:
province = flask.request.args.get('province')
city = flask.request.args.get('city')
note = flask.request.form.get('note')
print(province)
print(city)
print(note)
return province + "\n" + city + "\b" + note
except Exception as e:
print(e) debug = True
if __name__ == '__main__':
app.run()

client.py

import urllib.request
import urllib.parse url = "http://127.0.0.1:5000" province = "山东"
city = "青岛"
note = "青岛地处山东半岛东南部沿海,胶东半岛东部,濒临黄海,隔海与朝鲜半岛相望,地处中日韩自贸区的前沿地带; 东北与烟台毗邻,西与潍坊相连,西南与日照接壤; 青岛因地理位置优越继而1891年清政府驻兵建置,1897年德国租借建设港口和铁路,青岛因“一港一路”而兴,拥有国际性海港和区域性枢纽航空港,是实施海上丝绸之路、履行国家一带一路战略重要的枢纽型城市。" # urllib.parse模块中的一个方法,用于将字符串进行URL编码,URL编码是将URL中的非ASCII字符和一些特殊字符转换成特定的格式
province = urllib.parse.quote(province)
city = urllib.parse.quote(city)
note = urllib.parse.quote(note) pc = "province=" + province + "&city=" + city n = "note=" + note response = urllib.request.urlopen(url+"?"+pc, data = n.encode())
data = response.read()
html = data.decode()
print(html)

Form表单中的POST

server.py

import flask
app = flask.Flask(__name__) @app.route('/', methods=['GET','POST'])
def index():
msg = ""
user = flask.request.values.get('user', "")
pwd = flask.request.values.get('pwd', "") if user=="123" and pwd=="123":
msg = "登陆成功"
elif user or pwd:
msg = "登录失败"
return flask.render_template("login.html", msg=msg) debug = True
if __name__ == '__main__':
app.run()

login.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <form name = "form1" action="" method="post">
用户<input type="text" name="user"><br>
密码<input type="password" name="pwd"><br>
<input type="submit" value="登录"> </form>
<div>
{{msg}}
</div>
</body>
</html>

使用POST方法向网站发送数据的更多相关文章

  1. Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  2. (三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)

    文章来源:http://www.cnblogs.com/smyhvae/p/4006009.html 一.GET和POST的对比: 在漫长的时间当中,其他的方法逐渐的退出了历史舞台,最常用的只剩下GE ...

  3. 网络相关系列之三:通过GET和POST方法发送数据

    写在最前面:年少的安逸舒适在随着年龄的到来和现实生活的压迫总有一天会全数归还(事实上就是<无间道>中那句:"出来混,迟早要还的!") so fighting. 一.GE ...

  4. C++使用POST方法向网页提交数据-----C++发送HTTP数据获取Google天气预报

    例1:C++使用POST方法向网页提交数据    转自:http://www.it165.net/pro/html/201208/3534.html 在C++中可以使用POST方法向网页中提交数据,这 ...

  5. HTTP客户端之使用request方法向其他网站请求数据

    在node中,可以很轻松的向任何网站发送请求并读取该网站的响应数据. var req=http.request(options,callback); options是一个字符串或者是对象.如果是字符串 ...

  6. C#中在WebClient中使用post发送数据实现方法

    很多时候,我们需要使用C#中的WebClient 来收发数据,WebClient 类提供向 URI 标识的任何本地.Intranet 或 Internet 资源发送数据以及从这些资源接收数据的公共方法 ...

  7. HTTP 请求方式: GET和POST的比较当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。

    什么是HTTP? 超文本传输协议(HyperText Transfer Protocol -- HTTP)是一个设计来使客户端和服务器顺利进行通讯的协议. HTTP在客户端和服务器之间以request ...

  8. STM32 使用 printf 发送数据配置方法 -- 串口 UART, JTAG SWO, JLINK RTT

    STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK) http://home.eeworld.com.cn/my/space-uid-338727-blogid-47 ...

  9. 使用post()方法以POST方式从服务器发送数据

    使用post()方法以POST方式从服务器发送数据 与get()方法相比,post()方法多用于以POST方式向服务器发送数据,服务器接收到数据之后,进行处理,并将处理结果返回页面,调用格式如下: $ ...

  10. idHTTP 向网站发送json格式数据

    idHTTP 向网站发送json格式数据 var rbody:tstringstream; begin rbody:=tstringstream.Create('{"name":& ...

随机推荐

  1. dotnet 对指针转换为结构体多个不同方法的性能分析

    在 dotnet 里面,拿到一个指针,可以有多个不同的方法转换为结构体,本文将来告诉大家这几个方法的性能的差别 特别感谢性能优化狂魔 Stephen Toub 大佬的指导 在 WPF 框架开发中,有小 ...

  2. 2019-10-31-ASP.NET-Core-连接-GitLab-与-MatterMost-打造-devops-工具

    title author date CreateTime categories ASP.NET Core 连接 GitLab 与 MatterMost 打造 devops 工具 lindexi 201 ...

  3. 05.Java 方法详解

    1.方法的定义及调用 设计方法的原则:一个方法只完成一个功能,有利于后期的扩展 方法的定义: 修饰符(可选) 返回值类型 方法名(参数类型 参数名(可选)){ 方法体 return 返回值; } 2. ...

  4. 适合IT团队的在线文档私人分享工具——showdoc部署

    转载文章: https://www.lixian.fun/3617.html

  5. fastposter 2.1.1 紧急版本发布 电商级海报生成器

    fastposter 2.1.1 紧急版本发布 电商级海报生成器 fastposter低代码海报生成器,一分钟完成海报开发.支持Java Python PHP Go JavaScript等多种语言. ...

  6. .NET C#导出解决方案的NuGet依赖关系

    前言 公司项目需要写DS设计文档,文档需要标识出来你的解决方案文件下的所有项目都使用了NuGet哪些第三方依赖,我们都知道sln下面的所有.csproj文件中的节点下会标识出对应的依赖,但一个一个对比 ...

  7. 【PB案例学习笔记】-01创建应用、窗口与控件

    写在前面 这是PB案例学习笔记系列文章的第一篇,也是最基础的一篇.后续文章中[创建程序基本框架]部分操作都跟这篇文章一样, 将不再重复.该系列文章是针对具有一定PB基础的读者,通过一个个由浅入深的编程 ...

  8. MindSpore梯度进阶操作

    技术背景 在MindSpore深度学习框架中,我们可以使用mindspore.grad对函数式编程的函数直接计算自动微分,也可以使用mindspore.ops.GradOperation求解Cell类 ...

  9. Pytorch:使用Tensorboard记录训练状态

    我们知道TensorBoard是Tensorflow中的一个强大的可视化工具,它可以让我们非常方便地记录训练loss波动情况.如果我们是其它深度学习框架用户(如Pytorch),而想使用TensorB ...

  10. 『手撕Vue-CLI』拉取模板名称

    前言 好,经过上篇文章的介绍,已经可以有处理不同指令的能力了,接下来我们就来处理 vue create 指令,这个指令的本质就是从网络上下载提前准备好的模板,然后再自动安装模板中相关依赖. 所以实现 ...