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方式,用戶輸入的用戶名和密碼將在地址欄中暴露無遺。但是在分頁(yè)程序中,用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長(zhǎng)度的限制,只能傳遞大約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. python中文本字符處理的簡(jiǎn)單方法記錄2. 使用Blazor框架實(shí)現(xiàn)在前端瀏覽器中導(dǎo)入和導(dǎo)出Excel3. 如何從Python的cmd中獲得.py文件參數(shù)4. ASP基礎(chǔ)知識(shí)Command對(duì)象講解5. vscode運(yùn)行php報(bào)錯(cuò)php?not?found解決辦法6. Python-openpyxl表格讀取寫入的案例詳解7. Python使用Selenium自動(dòng)進(jìn)行百度搜索的實(shí)現(xiàn)8. JavaScript實(shí)現(xiàn)留言板實(shí)戰(zhàn)案例9. PHP laravel實(shí)現(xiàn)導(dǎo)出PDF功能10. JS中6個(gè)對(duì)象數(shù)組去重的方法

網(wǎng)公網(wǎng)安備