python中get和post有什么区别

作者:silencement 时间:2022-04-17 16:45:15 

在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。

GET方式提交的数据最多只能有1024 Byte,而POST则没有此限制。

安全性问题。正如在上面中提到,使用 Get 的时候,参数会显示在地址栏上,而 Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好。

表单提交中get和post方式的区别归纳如下几点:

get是从服务器上获取数据,post是向服务器传送数据。

对于表单的提交方式,在服务器端只能用Request.QueryString来获取Get方式提交来的数据,用Post方式提交的数据只能用Request.Form来获取。

一般来说,尽量避免使用Get方式提交表单,因为有可能会导致安全问题。比如说在登陆表单中用Get方式,用户输入的用户名和密码将在地址栏中暴露无遗。但是在分页程序中,用Get方式就比用Post好。

HTTP POST和GET的区别

1、HTTP 只有POST和GET 两种命令模式;

2、 POST 是被设计用来向上放东西的,而GET是被设计用来从服务器取东西的,GET也能够向服务器传送较少的数据,而Get之所以也能传送数据,只是用来设计告诉 服务器,你到底需要什么样的数据.POST的信息作为HTTP 请求的内容,而GET是在HTTP 头部传输的;

3、POST与GET在HTTP 中传送的方式不同,GET的参数是在HTTP 的头部传送的,而Post的数据则是在HTTP 请求的内容里传送;

4、POST传输数据时,不需要在URL中显示出来,而GET方法要在URL中显示;

5、 GET方法由于受到URL长度的限制,只能传递大约1024字节;POST传输的数据量大,可以达到2M,而根据微软方面的说法,微软对用 Request.Form() 可接收的最大数据有限制,IIS 4 中为 80 KB 字节,IIS 5 中为 100 KB 字节;

6、SOAP是依赖于HTTP POST模式实现的。

实例补充:

单纯的post请求:


def http_post():
url = "http://152.1.12.11:8080/web"
postdata = dict(d=2, p=10)
post = []
post.append(postdata)
req = urllib2.Request(url, json.dumps(post)) #需要是json格式的参数
req.add_header('Content-Type', 'application/json') #要非常注意这行代码的写法
response = urllib2.urlopen(req)
result = json.loads(response.read())
print result

需要token时写法如下:


def http_post():
url = "http://152.1.12.11:8080/web"
postdata = dict(d=2, p=10)
post = []
post.append(postdata)
req = urllib2.Request(url, json.dumps(post))
access_token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJ1bmlxdWVfbmFtZSI6I..........'
req.add_header('Authorization', access_token) #header中添加token
req.add_header('Content-Type', 'application/json') #要非常注意这行代码的写法
response = urllib2.urlopen(req)
result = json.loads(response.read())
print result

get方式的写法如下:


def get_access_token():
local_url = 'http://152.1.1.1:8080/web'
response = urllib2.urlopen(local_url).read()
resp = json.loads(response)
print resp

来源:https://www.py.cn/faq/python/12515.html

标签:python,get,post
0
投稿

猜你喜欢

  • Python类属性的延迟计算

    2023-07-22 15:50:33
  • Python中的groupby分组功能的实例代码

    2021-09-17 20:48:15
  • Django使用Celery实现异步发送邮件

    2022-11-04 17:50:47
  • windows server2016安装MySQL5.7.19解压缩版教程详解

    2024-01-22 01:16:29
  • asp.net 上传下载输出二进制流实现代码

    2023-06-28 16:06:05
  • Python tkinter实现的图片移动碰撞动画效果【附源码下载】

    2022-03-19 03:05:26
  • js中int和string数据类型互相转化实例

    2024-05-02 17:25:57
  • Python变量和字符串详解

    2023-08-23 02:59:49
  • Django使用paginator插件实现翻页功能的实例

    2023-09-06 05:23:19
  • Python Matplotlib 实现3D绘图详解

    2022-06-20 15:47:03
  • FrontPage 2000主页设计问与答

    2008-08-02 12:37:00
  • MySQL EXPLAIN执行计划解析

    2024-01-26 14:35:28
  • 支付宝 接口开发帮助(asp,php,asp.net,jsp)

    2024-05-21 10:11:35
  • SqlDateTime溢出该怎么解决

    2024-01-13 23:06:12
  • Tornado Web Server框架编写简易Python服务器

    2021-10-18 09:23:52
  • golang 如何通过反射创建新对象

    2024-04-27 15:24:38
  • python的重要技能输入与输出字符串格式化使用详解

    2021-02-15 09:49:11
  • 详解Python单元测试的两种写法

    2023-02-13 06:04:20
  • Python 多核并行计算的示例代码

    2022-08-18 11:20:36
  • Win10下安装CUDA11.0+CUDNN8.0+tensorflow-gpu2.4.1+pytorch1.7.0+paddlepaddle-gpu2.0.0

    2022-05-08 19:29:32
  • asp之家 网络编程 m.aspxhome.com