参考:
https://zhuanlan.zhihu.com/p/416978320
https://blog.csdn.net/SweetHeartHuaZai/article/details/130983179
使用httpx代替requests
bash
import httpx
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36",
}
res = httpx.get(url='https://www.baidu.com/', headers=headers, timeout=10, verify=False)
print(res.text)
django中添加如下配置:
bash
INSTALLED_APPS = [
'corsheaders',
]
MIDDLEWARE_CLASSES = [
'corsheaders.middleware.CorsMiddleware', #这个放到第一位
]
注意:
是MIDDLEWARE_CLASSES 不是MIDDLEWARE,否则不生效。
如果处理后报如下错误:
bash
ERRORS:
?: (admin.E408) 'django.contrib.auth.middleware.AuthenticationMiddleware' must be in MIDDLEWARE in order to use the admin application.
?: (admin.E409) 'django.contrib.messages.middleware.MessageMiddleware' must be in MIDDLEWARE in order to use the admin application.
?: (admin.E410) 'django.contrib.sessions.middleware.SessionMiddleware' must be in MIDDLEWARE in order to use the admin application.
HINT: Insert 'django.contrib.sessions.middleware.SessionMiddleware' before 'django.contrib.auth.middleware.AuthenticationMiddleware'.
处理办法如下(同时添加MIDDLEWARE_CLASSES 和 MIDDLEWARE ):
bash
MIDDLEWARE_CLASSES = [
'corsheaders.middleware.CorsMiddleware',
]
MIDDLEWARE = [
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
]