1. 程式人生 > 程式設計 >python中get和post有什麼區別

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請求:

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,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

到此這篇關於python中get和post有什麼區別的文章就介紹到這了,更多相關python中get和post區別內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!