校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Django request.META.get()獲取不到header頭的原因分析

Django request.META.get()獲取不到header頭的原因分析

熱門標簽:南京銷售外呼系統軟件 房產電銷外呼系統 蓋州市地圖標注 地圖標注微信發送位置不顯示 上海機器人外呼系統哪家好 315電話機器人廣告 浙江電銷卡外呼系統好用嗎 地圖標注的意義點 地圖制圖標注位置改變是移位嗎

在使用Django過程中需要開發一些API給其他系統使用,為了安全把Token等驗證信息放在header頭中。

如何獲取:

使用request.META.get("headerkey")來獲取

注意:

如果headerkey為auth-token,即headers={'auth-token':'1234'}

應該使用request.META.get("HTTP_AUTH_TOKEN")獲取

headerkey中的小寫轉為大寫,橫線“-”轉為下劃線“_”,并且加上前綴HTTP

尤其注意headerkey中不應該包含 HTTP前綴,以及符號"_",否則會取不到對應的值

補充:Django中獲取參數(路徑,查詢,請求頭,請求體)

一、通常HTTP協議向服務器傳參有幾種途徑

提取URL的特定部分,如/weather/shanghai/2018,可以在服務器端的路由中用正則表達式截取;

查詢字符串(query string),形如key1=value1key2=value2;

請求體(body)中發送的數據,比如表單數據、json、xml;

在http報文的頭(header)中。

1.URL中參數的獲取

在定義路由URL時,可以使用正則表達式提取參數的方法從URL中獲取請求參數,Django會將提取的參數直接傳遞到視圖的傳入參數中。

1. 1未命名參數按定義順序傳遞

注意:參數獲取的順序與url中參數的位置一一對應,不能互換

url(r'^users/([a-z]+)/(\d{4})/$', views.get_user),  
def get_user(request, name, ID):
    print('name=%s' % name)
    print('id=%s' % id)
    return HttpResponse('OK')

1.2 命名參數按名字傳遞

注意:如果在路由中指定了參數的名字,name接收參數時,必須要使用路由中指定的參數名稱,不能換成其他名字,此時,兩個參數位置可以互換。

url(r'^users/(?Pname>[a-z]+)/(?Pid>\d{4})/$', views.users),  
def weather(request, name, id):
    print('name=%s' % name)
    print('id=%s' % id)
    return HttpResponse('OK')

2.獲取請求路徑中的查詢字符串參數

(形如?k1=v1k2=v2),可以通過request.GET屬性獲取,返回QueryDict對象。

什么是QueryDict對象?

定義在django.http.QueryDict

HttpRequest對象的屬性GET、POST都是QueryDict類型的對象

與python字典不同,QueryDict類型的對象用來處理同一個鍵帶有多個值的情況

2.1方法get():根據鍵獲取值

如果一個鍵同時擁有多個值將獲取最后一個值

如果鍵不存在則返回None值,可以設置默認值進行后續處理

dict.get('key',value)==>可簡寫為: dict['key']

2.2方法getlist():根據鍵獲取值,值以列表返回,可以獲取指定鍵的所有值

如果鍵不存在則返回空列表[],可以設置默認值進行后續處理

dict.getlist('鍵',默認值)   

2.3獲取參數實例

訪問路徑:/user/qs/?a=1b=2a=3

注意:查詢字符串不區分請求方式,客戶端GET,POST方式的請求,都可以通過request.GET獲取請求中的查詢字符串數據。

url(r'^qs/$',views.get_value,name='g_v'),  
def get_value(request):
    a = request.GET.get('a')  #3
    b = request.GET.get('b')  #2
    num_list = request.GET.getlist('a') #['1','3']
    print(a)
    print(b)
    print(num_list)  
    return HttpResponse(reverse('user:get_value'))

3.請求體中的參數  

3.1表單數據獲取   

通過request.POST來獲取

注意:Django默認開啟了CSRF防護,會對上述請求方式進行CSRF防護驗證,在開發測試時可以關閉CSRF防護機制,方法為在settings.py文件中注釋掉CSRF中間件

url(r'^getbody/$',views.get_body),
  
def get_body(request):
    form_data = request.POST.get('c')
    print(form_data)
    return HttpResponse(form_data)

3.2非表單數據獲取

非表單類型的請求體數據,Django無法自動解析,可以通過request.body屬性獲取最原始的請求體數據,自己按照請求體格式(JSON、XML等)進行解析。request.body返回bytes類型

import json  
url(r'^getjson/$',views.get_body_json),  
def get_body_json(request):
    # 得到的是一個二進制數據
    json_str = request.body
    print(json_str)                     # b'{\n    "f":200,\n    "d":300\n    \n}'\

    # 對二進制數據進行解碼,解碼得到json數據
    json_str = json_str.decode()
    print(json_str)                     # {"f":200,"d":300}
    # 將json數據轉化成字典形式
    json_data = json.loads(json_str)
    print(json_data)                    # {'f': 200, 'd': 300}
    # 獲取json數據,使用字典方式取值
    print(json_data['d'])               # 300
    print(json_data['f'])               # 200
    return HttpResponse('ok')

4.例如:Django獲取http請求頭內容  

通過view函數傳遞過來的 reuqest,使用request.META.get("header key")來獲取

  注意:

header key必須大寫,前綴必須是"HTTP",后面如果連接符是橫線“-”,要改成下劃線“_”。例如你的header的key為api_auth,那在Django中應該使用request.META.get("HTTP_API_AUTH")來獲取請求頭的數據。

5.其他常用HttpRequest對象屬性

request.method 請求方式

request.path 請求路徑

request.user 請求的用戶對象

request.FILES 一個類似于字典的對象,包含所有的上傳文件

request.encoding 一個字符串,表示請求的頁面的完整路徑,不包含域名和參數部分。

url(r'^otherattr/$', views.other_attr),  
def other_attr(request):
    print(request.method)    # POST
    print(request.path)      # /user/otherattr/
    print(request.encoding)  # None:表示使用瀏覽器的默認設置,一般為utf-8,這個屬性是可寫的,
    # 可以通過修改它來修改訪問表單數據使用的編碼,接下來對屬性的任何訪問將使用新的encoding值。
  

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Django接收自定義http header過程詳解
  • DRF跨域后端解決之django-cors-headers的使用
  • Django Python 獲取請求頭信息Content-Range的方法

標簽:臨汾 日照 陽泉 雙鴨山 赤峰 克拉瑪依 貴州 金華

巨人網絡通訊聲明:本文標題《Django request.META.get()獲取不到header頭的原因分析》,本文關鍵詞  Django,request.META.get,獲取,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Django request.META.get()獲取不到header頭的原因分析》相關的同類信息!
  • 本頁收集關于Django request.META.get()獲取不到header頭的原因分析的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    精品电影一区二区| 伊人婷婷欧美激情| 久久美女艺术照精彩视频福利播放| 美女视频黄 久久| 9久草视频在线视频精品| 丝袜亚洲精品中文字幕一区| 性感美女极品91精品| 日韩国产一二三区| 久久色在线视频| 色综合天天综合给合国产| 91精品国产一区二区三区蜜臀 | 欧美国产日产图区| 色先锋资源久久综合| 99热精品一区二区| 亚洲黄一区二区三区| 精品一区二区国语对白| 欧美性高清videossexo| 中文字幕av资源一区| 午夜视黄欧洲亚洲| 国产亚洲一区字幕| 久久久精品中文字幕麻豆发布| 日韩一级片在线播放| 中文字幕一区二区三| 99久久婷婷国产| 国产精品久久久久影院亚瑟| 久久久99精品久久| 欧美在线观看视频一区二区| 亚洲国产精品av| 久久久久久影视| 久久精品欧美一区二区三区麻豆| 日韩中文字幕1| 精品中文字幕一区二区| 日韩欧美在线网站| 欧美久久久久久蜜桃| 青娱乐精品视频| 精品在线免费观看| 成人一区二区在线观看| 日本一区二区三区在线观看| 国产一区二区三区高清播放| 亚洲综合自拍偷拍| 国产精品一区三区| 欧美日韩中文字幕一区二区| 欧美一二区视频| 国产精品入口麻豆原神| 91福利精品第一导航| 久久精品72免费观看| 精品视频一区 二区 三区| 久久99国产精品尤物| 亚洲桃色在线一区| 精品一区二区三区av| 亚洲综合清纯丝袜自拍| 欧美中文字幕不卡| 久久久青草青青国产亚洲免观| 高清免费成人av| 亚洲一区二区三区爽爽爽爽爽| 国产精品福利一区二区三区| 91九色02白丝porn| 亚洲人成网站在线| 成人app下载| 国产日本欧洲亚洲| 天天射综合影视| 91行情网站电视在线观看高清版| 国产精品一二三区| 91精品国产综合久久精品| 欧美日韩一区二区在线观看| 91原创在线视频| 日韩欧美久久一区| 国产精品夜夜嗨| 在线免费精品视频| 亚洲一区中文在线| 欧美在线一二三| 蜜臂av日日欢夜夜爽一区| 国产一区二区三区日韩| 国产精品一区二区你懂的| 日韩高清电影一区| 国产丝袜美腿一区二区三区| 亚洲欧美一区二区久久| 亚洲精品水蜜桃| 99精品热视频| 欧美精品一区二区三区蜜臀| 欧美日韩精品三区| 成人精品视频.| 狠狠色狠狠色综合| 国产精品人妖ts系列视频| 免费三级欧美电影| 亚洲色图丝袜美腿| 另类小说一区二区三区| 亚洲一区二区三区四区不卡| 免费在线成人网| 午夜精品福利一区二区蜜股av | 亚洲福利一区二区| 天堂av在线一区| 亚洲国产精品久久久久婷婷884| 欧美三级日韩三级| 91精品国产色综合久久不卡电影 | 99精品视频中文字幕| 午夜欧美2019年伦理| 日韩视频一区二区三区| 亚洲va欧美va国产va天堂影院| 一本久久精品一区二区| 捆绑调教美女网站视频一区| 欧美女孩性生活视频| 99久久精品国产精品久久| 久久国产精品免费| 欧美色国产精品| 中文字幕在线不卡一区二区三区| 欧美精品久久99久久在免费线| 国产精品1024| 久久亚洲影视婷婷| 午夜免费久久看| 色综合久久久久久久久久久| 精品一区二区三区在线观看| 一区二区三区欧美日| 亚洲色图在线视频| 91官网在线观看| 成人一级片网址| 99视频精品免费视频| 亚洲一区二区三区四区不卡| 中文字幕在线不卡视频| 国产精品久久久久一区二区三区| 欧美一区二区私人影院日本| 91精品久久久久久久99蜜桃 | 色呦呦国产精品| 国产精品欧美一区喷水| 欧美国产成人精品| 99精品视频一区二区| 日本高清视频一区二区| 91久久精品午夜一区二区| 国产精品亚洲第一区在线暖暖韩国| 日韩成人dvd| 欧美精彩视频一区二区三区| 国产精品嫩草久久久久| 日韩精品一级二级| 久久精品一区八戒影视| 五月天网站亚洲| 国产精品网站一区| 在线免费精品视频| 国产精品综合一区二区三区| 色综合夜色一区| 国产精品69毛片高清亚洲| 91亚洲精品久久久蜜桃| 精品国产乱码久久久久久影片| 国产欧美日韩精品一区| 国产盗摄女厕一区二区三区| 国产成人夜色高潮福利影视| 欧美熟乱第一页| 成人免费视频视频在线观看免费| 欧美美女网站色| 欧美在线免费视屏| 欧美xxxx在线观看| 国产一区高清在线| 午夜成人免费电影| 亚洲乱码一区二区三区在线观看| 免费人成精品欧美精品| 欧美乱妇一区二区三区不卡视频| 国产视频一区二区在线| 亚洲欧美中日韩| 国产亚洲精品7777| 日韩一区二区高清| 色狠狠综合天天综合综合| 亚洲精品在线免费播放| 亚洲成人自拍网| 婷婷亚洲久悠悠色悠在线播放 | 一本久久a久久精品亚洲 | 欧美撒尿777hd撒尿| 91精品国产91久久久久久一区二区| 亚洲激情图片小说视频| 丁香一区二区三区| av高清不卡在线| 91日韩在线专区| 欧美性一区二区| 精品国产乱码久久久久久浪潮| 美女视频黄免费的久久| 日韩电影在线看| 国产乱人伦精品一区二区在线观看| 91在线观看地址| 日本精品一区二区三区四区的功能| 欧美不卡一二三| 国产精品毛片a∨一区二区三区| 亚洲午夜在线视频| 狠狠色丁香久久婷婷综合丁香| 欧洲精品在线观看| 精品嫩草影院久久| 亚洲精品在线三区| 国产精品护士白丝一区av| 日韩精品中文字幕一区二区三区 | 在线视频一区二区免费| 国产在线看一区| 丁香天五香天堂综合| 亚洲欧洲韩国日本视频| 99精品久久只有精品| 国产精品二区一区二区aⅴ污介绍| 成人福利视频网站| 91原创在线视频| 国产日韩一级二级三级| 337p日本欧洲亚洲大胆精品| 99视频精品免费视频| 成人激情视频网站| 国产精品三级在线观看| 久久久影视传媒|