1. 127.0.0.1和0.0.0.0
127.0.0.1是一個回送地址,指本地機,一般用來本機測試使用,使用127.0.0.1啟的服務只能在本地機器上訪問,使用0.0.0.0啟的服務可以在其他機器上通過網絡訪問。
2. VMware 虛擬機向主機做端口映射
虛擬機的網絡連接默認是 NAT模式(用於共享主機的IP地址),要在NAT模式下由虛擬機提供網絡服務,需要做端口映射。
VMware虛擬機->編輯->虛擬網絡編輯器:


主機和虛擬機端口可以設置為一樣。設置完成之后就可以通過主機ip:端口號訪問虛擬機了。
錯誤細節,在訪問端報錯:
raise HTTPError(req.get_full_url(),code,msg,hdrs.fp)
urllib2.HTTPError: HTTP Error 403: Forbidden
在服務端報錯:
Forbidden (CSRF cookie not set.):
解決辦法:修改settings.py設置文件,刪除掉這一行代碼:
'django.middleware.csrf.CsrfViewMiddleware',
4. python發送HTTP POST請求(json格式)到指定網址
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import urllib2
import json
def http_post(url,data_json):
jdata = json.dumps(data_json)
req = urllib2.Request(url, jdata)
response = urllib2.urlopen(req)
return response.read()
url = 'http://192.168.0.107:8000/medi_test'
data_json = {'name': 'cuiyongyuan','job':'hero'}
resp = http_post(url,data_json)
print(resp)
5. Django后端處理json格式的POST請求
def handle_post(request):
if request.POST:
req = json.loads(request.body)
name = req.get('name')
job = req.get('job')
print(name,job)
return_json = json.dumps((name,job))
return HttpResponse(return_json)
else:
return_json = 'POST only!'
return HttpResponse(return_json)
