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. 剪贴板被占用导致应用使用剪贴板拷贝内容失败抛出 COMException 0x800401D0 错误

    本文记录某些软件,例如 向日葵远程控制 软件占用剪贴板,导致 WPF 应用使用剪贴板拷贝内容和设置剪贴板时,抛出 System.Runtime.InteropServices.COMException ...

  2. C语言程序设计-笔记3-循环结构

    C语言程序设计-笔记3-循环结构 例4-1  用格雷戈里公式求给定精度的π值.使用格雷戈里公式求π的近似值,要求精确到最后一项的绝对值小于给定精度eps. =1--+-+- #include<s ...

  3. python+requests爬取B站视频保存到本地

    import os import datetime from django.test import TestCase # Create your tests here. import requests ...

  4. 大模型高效微调详解-从Adpter、PrefixTuning到LoRA

    一.背景 目前NLP主流范式是在大量通用数据上进行预训练语言模型训练,然后再针对特定下游任务进行微调,达到领域适应(迁移学习)的目的. 指令微调是预训练语言模型微调的主流范式 其目的是尽量让下游任务的 ...

  5. 07. rails 创建user模型

    rails帮助命令 rails -h 创建user模型 命令行 haima@haima-PC:/media/haima/34E401CC64DD0E28/site/go/src/ruby/circle ...

  6. SRAM、DRAM、Flash、DDR有什么区别

    SRAM SRAM的全称是Static Rnadom Access Memory,翻译过来即静态随机存储器.这里的静态是指这种存储器只需要保持通电,里面的数据就可以永远保持.但是当断点之后,里面的数据 ...

  7. ansible系列(31)--ansible实战之部署WEB集群架构(1)

    目录 1. WEB集群环境说明 2. ansible部署WEB集群实现思路 3. ansible基础环境部署 1. WEB集群环境说明 WEB集群环境说明如下: 客户端:模拟外网主机,地址:192.1 ...

  8. C++ placement new学习

    通常创建对象使用new操作,但这样无法指定在具体某一块内存开辟空间创建对象.而如果 可以指定开辟空间的内存位置,我们可以编写内存池高效的复用同一个内存位置,这样可以避免系统频繁申请可用内存 所占用的时 ...

  9. Visual Studio中的四款代码格式化工具

    前言 今天大姚给大家分享四款Visual Studio中的代码格式化工具.扩展插件.大家可以在Visual Studio中的管理扩展或者插件市场下载安装. 代码格式化工具的作用 自动调整代码的布局和风 ...

  10. C 语言编程 — 高级数据类型 — 指针

    目录 文章目录 目录 前文列表 指针 声明指针 使用指针 NULL 指针 指针的算术运算 指向指针的指针 将指针作为实际参数传入函数 从函数返回指针 一个古老的笑话 前文列表 <程序编译流程与 ...