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, 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
到此這篇關于python中get和post有什么區別的文章就介紹到這了,更多相關python中get和post區別內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
