python中g(shù)et和post有什么區(qū)別
在客戶端,Get方式在通過URL提交數(shù)據(jù),數(shù)據(jù)在URL中可以看到;POST方式,數(shù)據(jù)放置在HTML HEADER內(nèi)提交。
GET方式提交的數(shù)據(jù)最多只能有1024 Byte,而POST則沒有此限制。
安全性問題。正如在上面中提到,使用 Get 的時(shí)候,參數(shù)會(huì)顯示在地址欄上,而 Post 不會(huì)。所以,如果這些數(shù)據(jù)是中文數(shù)據(jù)而且是非敏感數(shù)據(jù),那么使用get;如果用戶輸入的數(shù)據(jù)不是中文字符而且包含敏感數(shù)據(jù),那么還是使用 post為好。
表單提交中g(shù)et和post方式的區(qū)別歸納如下幾點(diǎn):
get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)。
對(duì)于表單的提交方式,在服務(wù)器端只能用Request.QueryString來獲取Get方式提交來的數(shù)據(jù),用Post方式提交的數(shù)據(jù)只能用Request.Form來獲取。
一般來說,盡量避免使用Get方式提交表單,因?yàn)橛锌赡軙?huì)導(dǎo)致安全問題。比如說在登陸表單中用Get方式,用戶輸入的用戶名和密碼將在地址欄中暴露無遺。但是在分頁程序中,用Get方式就比用Post好。
HTTP POST和GET的區(qū)別
1、HTTP 只有POST和GET 兩種命令模式;
2、 POST 是被設(shè)計(jì)用來向上放東西的,而GET是被設(shè)計(jì)用來從服務(wù)器取東西的,GET也能夠向服務(wù)器傳送較少的數(shù)據(jù),而Get之所以也能傳送數(shù)據(jù),只是用來設(shè)計(jì)告訴 服務(wù)器,你到底需要什么樣的數(shù)據(jù).POST的信息作為HTTP 請(qǐng)求的內(nèi)容,而GET是在HTTP 頭部傳輸?shù)模?/p>
3、POST與GET在HTTP 中傳送的方式不同,GET的參數(shù)是在HTTP 的頭部傳送的,而Post的數(shù)據(jù)則是在HTTP 請(qǐng)求的內(nèi)容里傳送;
4、POST傳輸數(shù)據(jù)時(shí),不需要在URL中顯示出來,而GET方法要在URL中顯示;
5、 GET方法由于受到URL長度的限制,只能傳遞大約1024字節(jié);POST傳輸?shù)臄?shù)據(jù)量大,可以達(dá)到2M,而根據(jù)微軟方面的說法,微軟對(duì)用 Request.Form() 可接收的最大數(shù)據(jù)有限制,IIS 4 中為 80 KB 字節(jié),IIS 5 中為 100 KB 字節(jié);
6、SOAP是依賴于HTTP POST模式實(shí)現(xiàn)的。
實(shí)例補(bǔ)充:
單純的post請(qǐng)求:
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格式的參數(shù) req.add_header(’Content-Type’, ’application/json’) #要非常注意這行代碼的寫法 response = urllib2.urlopen(req) result = json.loads(response.read()) print result
需要token時(shí)寫法如下:
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
到此這篇關(guān)于python中g(shù)et和post有什么區(qū)別的文章就介紹到這了,更多相關(guān)python中g(shù)et和post區(qū)別內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. PHP擴(kuò)展之APC——Alternative PHP Cache(可選PHP緩存)2. android RecycleView實(shí)現(xiàn)多級(jí)樹形列表3. Ajax報(bào)錯(cuò)400的參考解決辦法4. 刪除docker里建立容器的操作方法5. python如何查看安裝了的模塊6. Python selenium爬取微博數(shù)據(jù)代碼實(shí)例7. Python中socket網(wǎng)絡(luò)通信是干嘛的8. 如何利用Python matplotlib繪制雷達(dá)圖9. Python 列表中的修改、添加和刪除元素的實(shí)現(xiàn)10. python能否java成為主流語言嗎
