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ù)會顯示在地址欄上,而 Post 不會。所以,如果這些數(shù)據(jù)是中文數(shù)據(jù)而且是非敏感數(shù)據(jù),那么使用get;如果用戶輸入的數(shù)據(jù)不是中文字符而且包含敏感數(shù)據(jù),那么還是使用 post為好。
表單提交中g(shù)et和post方式的區(qū)別歸納如下幾點:
get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)。
對于表單的提交方式,在服務(wù)器端只能用Request.QueryString來獲取Get方式提交來的數(shù)據(jù),用Post方式提交的數(shù)據(jù)只能用Request.Form來獲取。
一般來說,盡量避免使用Get方式提交表單,因為有可能會導(dǎo)致安全問題。比如說在登陸表單中用Get方式,用戶輸入的用戶名和密碼將在地址欄中暴露無遺。但是在分頁程序中,用Get方式就比用Post好。
HTTP POST和GET的區(qū)別
1、HTTP 只有POST和GET 兩種命令模式;
2、 POST 是被設(shè)計用來向上放東西的,而GET是被設(shè)計用來從服務(wù)器取東西的,GET也能夠向服務(wù)器傳送較少的數(shù)據(jù),而Get之所以也能傳送數(shù)據(jù),只是用來設(shè)計告訴 服務(wù)器,你到底需要什么樣的數(shù)據(jù).POST的信息作為HTTP 請求的內(nèi)容,而GET是在HTTP 頭部傳輸?shù)模?/p>
3、POST與GET在HTTP 中傳送的方式不同,GET的參數(shù)是在HTTP 的頭部傳送的,而Post的數(shù)據(jù)則是在HTTP 請求的內(nèi)容里傳送;
4、POST傳輸數(shù)據(jù)時,不需要在URL中顯示出來,而GET方法要在URL中顯示;
5、 GET方法由于受到URL長度的限制,只能傳遞大約1024字節(jié);POST傳輸?shù)臄?shù)據(jù)量大,可以達(dá)到2M,而根據(jù)微軟方面的說法,微軟對用 Request.Form() 可接收的最大數(shù)據(jù)有限制,IIS 4 中為 80 KB 字節(jié),IIS 5 中為 100 KB 字節(jié);
6、SOAP是依賴于HTTP POST模式實現(xiàn)的。
實例補充:
單純的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格式的參數(shù) 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
到此這篇關(guān)于python中g(shù)et和post有什么區(qū)別的文章就介紹到這了,更多相關(guān)python中g(shù)et和post區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
分布式訓(xùn)練training-operator和pytorch-distributed?RANK變量不統(tǒng)一解決
這篇文章主要介紹了分布式訓(xùn)練training-operator和pytorch-distributed?RANK變量不統(tǒng)一問題的解決方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Django admin實現(xiàn)圖書管理系統(tǒng)菜鳥級教程完整實例
這篇文章主要介紹了Django admin實現(xiàn)圖書管理系統(tǒng)菜鳥級教程完整實例,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12Windows10下Tensorflow2.0 安裝及環(huán)境配置教程(圖文)
這篇文章主要介紹了Windows10下Tensorflow2.0 安裝及環(huán)境配置教程(圖文),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Python實現(xiàn)小數(shù)轉(zhuǎn)化為百分?jǐn)?shù)的格式化輸出方法示例
這篇文章主要介紹了Python實現(xiàn)小數(shù)轉(zhuǎn)化為百分?jǐn)?shù)的格式化輸出方法,結(jié)合具體實例形式分析了Python實現(xiàn)小數(shù)轉(zhuǎn)換為百分?jǐn)?shù)輸出的相關(guān)操作技巧與注意事項,需要的朋友可以參考下2017-09-09用Python進(jìn)行柵格數(shù)據(jù)的分區(qū)統(tǒng)計和批量提取
該教程其實源于web,我看到之后覺得很實用,于是自己又重復(fù)做了一遍,寫了詳細(xì)的注釋分享給大家,希望對大家的研究有幫助,本文講述了柵格的分區(qū)統(tǒng)計,批量提取,深化理解遍歷循環(huán)等內(nèi)容2021-05-05