脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python中get和post有什么区别

python中get和post有什么区别

2020-06-20 10:48silencement Python

在本篇内容里小编给大家分享的是关于python中get和post有什么区别的相关内容,需要的朋友们参考下吧。

在客户端,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请求:

?
1
2
3
4
5
6
7
8
9
10
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时写法如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
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方式的写法如下:

?
1
2
3
4
5
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

到此这篇关于python中get和post有什么区别的文章就介绍到这了,更多相关python中get和post区别内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.py.cn/faq/python/12515.html

延伸 · 阅读

精彩推荐