首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Django的LiveServerTestCase中使用python-requests失败,错误为502

在Django的LiveServerTestCase中使用python-requests失败,错误为502
EN

Stack Overflow用户
提问于 2021-06-05 01:44:55
回答 1查看 17关注 0票数 0

我正在尝试集成一个第三方应用程序,使用python-request来获取它从模板解析的urls。

我正在尝试使用LiveServerTestCase来测试集成。奇怪的是,curl可以工作,但请求测试test_requests_static_file失败,出现以下错误:

代码语言:javascript
复制
requests.exceptions.HTTPError: 502 Server Error: Connection refused for url: http://localhost:35819/static/testapp/style.css

这里有什么想法吗?

代码语言:javascript
复制
import subprocess

import requests
from django.contrib.staticfiles.testing import StaticLiveServerTestCase


class LiveServerTests(StaticLiveServerTestCase):
    def test_curl_static_file(self):
        output = subprocess.check_output(["curl", '%s%s' % (self.live_server_url, '/static/testapp/style.css')])
        self.assertIn('background: blue', output)
        
    def test_requests_static_file(self):
        response = requests.get('%s%s' % (self.live_server_url, '/static/testapp/style.css'))
        response.raise_for_status()
EN

回答 1

Stack Overflow用户

发布于 2021-06-05 04:45:36

我正要删除这个问题,但我想它可能会对一些可怜的人有用。事实证明,此问题是由于尝试使用网络代理连接到本地主机的请求造成的。

通过此测试验证:

代码语言:javascript
复制
from requests.utils import should_bypass_proxies as requests_should_bypass_proxies


class LiveServerTests(StaticLiveServerTestCase):
    def test_requests_should_bypass_proxies_for_liveserver(self):
        self.assertTrue(requests_should_bypass_proxies(self.live_server_url, None))

解决方案是使用NO_PROXY环境变量。如下效果的东西将会起作用:

代码语言:javascript
复制
import os

os.environ['NO_PROXY'] = 'localhost'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67841789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档