标签: django-cors-headers

如何解决错误“java.net.ConnectException:无法连接到 localhost/127.0.0.1:8000”

我目前正在开发一个使用android-studiowith的应用程序Kotlin和一个使用django-rest-framework.

我想127.0.0.1使用 android 模拟器访问我的本地服务器,以从 API 方法中获取一些值。

我在堆栈溢出网站和其他网站上检查了一些问题,并参考一些文章设置了我的代码,例如在 中添加一些代码、AndroidManifest.xml制作network_security_config.xml、更改 的代理Android emulator以及更改项目中的一些代码Django rest framework

即使当我到达本地服务器中的端点时,我也会收到如下错误代码:

2020-10-07 22:37:39.318 7247-7247/com.sample.apitest I/System.out: checked
2020-10-07 22:37:39.358 7247-7280/com.sample.apitest D/NetworkSecurityConfig: Using Network Security Config from resource network_security_config debugBuild: true
2020-10-07 22:37:39.392 7247-7280/com.sample.apitest W/System.err: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:8000
2020-10-07 22:37:39.394 7247-7280/com.sample.apitest W/System.err:     at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:143)
2020-10-07 22:37:39.394 7247-7280/com.sample.apitest W/System.err:     at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:112)
2020-10-07 22:37:39.394 7247-7280/com.sample.apitest W/System.err:     at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184)
2020-10-07 22:37:39.395 7247-7280/com.sample.apitest W/System.err:     at …
Run Code Online (Sandbox Code Playgroud)

android localhost android-emulator django-rest-framework django-cors-headers

3
推荐指数
1
解决办法
2万
查看次数

如何将 django 项目的默认 ip 设置为 0.0.0.0 以在 Visual Studio 2015 中进行调试?

我正在django rest framework使用 Visual Studio 2015、python 2.7、django 1.9开发应用程序。我已启用 CORS。当我通过命令提示符运行它时,我可以从其他来源访问它python manage.py runserver 0.0.0.0:8086。但是,在 Visual Studio 自动调试中,它在 127.0.0.0 上运行。我想配置visual studio以在指定的ip(即0.0.0.0)上运行服务器。因此,调试将很容易。
我尝试从site-packages\django\core\management\commands\runserver.py.
并且还能够在项目的 Visual Studio 属性中设置默认端口。但是,无法设置默认ip。

任何人都可以帮助我将 ip 0.0.0.0 配置为默认值,而不是 Visual Studio 中的默认值 (127.0.0.1)。

提前致谢。

python django django-rest-framework visual-studio-2015 django-cors-headers

2
推荐指数
1
解决办法
5029
查看次数

Django+Angular CORS 无法与 POST 一起使用

我的 Angular4 应用程序(在http://127.0.0.1:4200开发服务器上运行)应该访问网络上的 django REST 后端。后端在我的控制之下,只能通过 HTTPS 访问(运行 Apache,将请求传送到在内部端口上运行的 Gunicorn 服务器)。假设这是https://example.com/. 由于历史原因,用户登录是使用会话完成的,因为我希望用户登录后也能够使用 Django 的管理界面。工作流程如下:

  • Users opens http://127.0.0.1:4200,我执行 GET 请求,https://example.com/REST/is_logged_in当用户尚未通过会话登录时返回 403,否则返回 200。在前一种情况下,用户被重定向到https://example.com/login/,由Django的模板引擎渲染,允许用户登录。登录后,用户被重定向到http://127.0.0.1:4200
  • 当单击 Angular UI 中的某个按钮时,会执行 POST 请求。即使预检 OPTIONS 请求明确将 POST 列为允许的操作,此 post 请求也会失败并返回 403。

这是我在 Django 中的 CORS 配置:

NG_APP_ABSOLUTE_URL = 'http://127.0.0.1:4200'
# adapt Django's to Angular's presumed XSRF cookie/header names
CSRF_COOKIE_NAME = "XSRF-TOKEN"
CSRF_HEADER_NAME = "HTTP_X_XSRF_TOKEN"
CORS_ORIGIN_WHITELIST = (
    urlparse(NG_APP_ABSOLUTE_URL).netloc
)
CSRF_TRUSTED_ORIGINS = (
    urlparse(NG_APP_ABSOLUTE_URL).netloc
)
CORS_ALLOW_HEADERS = default_headers …
Run Code Online (Sandbox Code Playgroud)

django cors django-cors-headers angular

2
推荐指数
1
解决办法
1457
查看次数

django-cors-header 出现问题 - ModuleNotFoundError:没有名为“corsheaders”的模块

我正在尝试将 Django-Cors-Headers 库添加到我的 Django REST Framework 项目中,该项目是 Docker 化的。在没有库的情况下运行我的项目可以正常运行,但是在我按照django-cors-headers github上的文档添加它之后- 具体来说:

从 pip 安装:

pip install django-cors-headers
Run Code Online (Sandbox Code Playgroud)

(尽管就我而言,由于它是码头化的,所以我做到了:)

docker-compose run --rm web pip install django-cors-headers
Run Code Online (Sandbox Code Playgroud)

然后将其添加到您已安装的应用程序中:

INSTALLED_APPS = (
    ...
    'corsheaders',
    ...
)
Run Code Online (Sandbox Code Playgroud)

您还需要添加一个中间件类来监听响应:

MIDDLEWARE = [
    ...
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
]
Run Code Online (Sandbox Code Playgroud)

好吧,知道了所有这些,然后我运行:

docker-compose up
Run Code Online (Sandbox Code Playgroud)

它本质上只是等待 postgres、迁移,然后运行服务器。

这是我的堆栈跟踪:

Traceback (most recent call last):
  File "./manage.py", line 24, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 347, in execute
    django.setup()
  File "/usr/local/lib/python3.6/site-packages/django/__init__.py", line 24, …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework django-cors-headers

2
推荐指数
1
解决办法
4690
查看次数

Python Django 错误 ModuleNotFoundError:没有名为“corsheaders”的模块

嘿伙计们,当我安装了 corsheaders 时,我收到以下错误消息,知道为什么我收到以下错误消息,因为我没有想法。

installed:
Python 3.7.2

certifi==2018.11.29

chardet==3.0.4

Django==2.1.7

django-cors-headers==2.4.0

django-mssql==1.8

django-oauth-toolkit==1.2.0

djangorestframework==3.9.1

idna==2.8

oauthlib==3.0.1

pytz==2018.9

requests==2.21.0

urllib3==1.24.1

(Oauth) C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth>Scripts\python.exe mysite\manage.py runserver
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x03AC8C48>
Traceback (most recent call last):
  File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\utils\autoreload.py", line 225, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\core\management\commands\runserver.py", line 109, in inner_run
    autoreload.raise_last_exception()
  File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\utils\autoreload.py", line 248, in raise_last_exception
    raise _exception[1]
  File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\core\management\__init__.py", line 337, in execute
    autoreload.check_errors(django.setup)()
  File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\utils\autoreload.py", line 225, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\michael.mountford\OneDrive\Programming\matt-mikes-practice\Oauth\lib\site-packages\django\__init__.py", line 24, in …
Run Code Online (Sandbox Code Playgroud)

python django oauth python-3.x django-cors-headers

2
推荐指数
1
解决办法
2万
查看次数

iOS 和 Android 应用程序的 cors 标头白名单

我是 IOS 和 Android 应用程序开发的新手,我正在寻求知识。我有一个 Django Web API,其配置为

CORS_ORIGIN_WHITELIST = ('example1.com', 'example2.com')
Run Code Online (Sandbox Code Playgroud)

我知道只有这两个主机名中的应用程序才是我的 Web API 会接受的请求,但我的问题是.. 我要构建以连接到我的 Web API 的 IOS 和 Android 应用程序怎么样?这些也会被屏蔽吗?

django android cors ios django-cors-headers

1
推荐指数
1
解决办法
1406
查看次数

Django给出错误ImportError:没有名为'corsheaders'的模块

我是Django的新手并尝试为我的服务器启用CORS.我找不到内置的解决方案,所以我选择了django-cors-headers.我在Ubuntu 15.04中的python 3.5上的conda环境中运行我的服务器.所以我用pip3安装django-cors-header安装它.当我做pip3列表时,鞋子django-cors-header安装在版本1.2.2.在我的django应用程序中,我做到了.

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'corsheaders',
    'polls',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

CORS_ORIGIN_ALLOW_ALL = True
Run Code Online (Sandbox Code Playgroud)

但是,当我跑步python3 manage.py runserver它停止说ImportError: No module named 'corsheaders'.我已阅读所有关于它的SO帖子,但似乎没有解决我的问题.请帮助

django django-cors-headers

1
推荐指数
1
解决办法
8319
查看次数

Axios 被 Django REST 框架的 CORS 策略阻止

我正在尝试使用 Axios 向我的 API(Django REST 框架)发出请求,但出现以下错误:

Access to XMLHttpRequest at 'http://trvl.hopto.org:8000/api/airports/MSP/routes' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Run Code Online (Sandbox Code Playgroud)

当你使用 cUrl 来检查时,甚至很难:

curl -I -X GET   -H "Origin: http://localhost:3000"   -H 'Access-Control-Request-Method: GET'   http://trvl.hopto.org:8000/api/airports/MSP/routes 2>&1 | grep 'Access-Control-Allow-Origin'
Response: Access-Control-Allow-Origin: *

Full response from cUrl Options:
OPTIONS request: curl -I -X OPTIONS   -H "Origin: http://localhost:3000"   -H 'Access-Control-Request-Method: GET'   http://trvl.hopto.org:8000/api/airports/MSP/routes
HTTP/1.1 200 OK
Date: Wed, 27 Mar 2019 10:58:01 GMT
Server: WSGIServer/0.2 …
Run Code Online (Sandbox Code Playgroud)

javascript django-rest-framework reactjs django-cors-headers axios

1
推荐指数
1
解决办法
5184
查看次数