小编osp*_*der的帖子

HTTP"主机"标头参数中是否需要端口号?

假设我发出一个HTTP请求:foosite.com但实际发送请求的端口是6103,我不要将该端口放在Host标头中,例如:

GET /barpage HTTP/1.1
Host: foosite.com
Method: GET
Run Code Online (Sandbox Code Playgroud)

应该http服务器然后识别我正试图在端口6103上与它通话?或者因为它在请求标题中被省略了我在赌博,如果服务器实际上认识到这一点?

我问这个问题:我发现浏览器,至少是firefox + chrome,把端口放在Host头部.但我正在使用的Java应用程序没有.当端口没有通过时,Host服务器会回复以为我在端口80上.所以我需要獾?服务器操作员还是Java程序员?

http http-headers

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

如何在django 2.0 admin中使用allow_tags?

将删除对ModelAdmin方法的allow_tags属性的支持.

python django

24
推荐指数
4
解决办法
7107
查看次数

Python - 将 set-cookies 响应转换为 cookie 字典

如何response['set-cookie']httplib2响应中转换输出字符串

"cookie1=xxxyyyzzz;Path=/;Expires=Wed, 03-Feb-2015 08:03:12 GMT;Secure;HttpOnly, cookie2=abcdef;Path=/;Secure"
Run Code Online (Sandbox Code Playgroud)

{'cookie1':'xxxyyyzzz','cookies2':'abcdef'}
Run Code Online (Sandbox Code Playgroud)

python cookies python-3.3

7
推荐指数
2
解决办法
5306
查看次数

源代码控制中多语言项目的合理结构是什么?

在工作中,我们正在开发一个包含大量前端、后端和支持组件的大型应用程序。通常,前端是用 C# 开发的,后端是用 Java 开发的,尽管部分后端也是用 C# 开发的,也可能是后来的 C++。

语言和平台的选择不是任意的;我们尝试权衡每个组件在开发时间、工具链成本、特定开发团队对语言的熟悉程度等方面的相对优点。 然而,所有这些组件的共同点是,它们都是完整操作所必需的产品,并且它们由独立(但高度沟通)的团队同时开发。

以前,我们对 .NET 代码使用 Team Foundation Server,对 Java 代码使用 Subversion;由于团队职责明确分离,因此除了将一个源代码树生成的二进制文件(在本例中为 WAR)放置在另一个源代码树中的不便之外,几乎没有什么问题,以及保持分支和修订同步的高额手动开销。在这个项目中,团队之间的分离程度故意要小得多,并且分支/合并的数量预计要高得多;因此,我们正在转向统一的 VCS,更具体地说是 Subversion。

这让我想到了一个问题:如何有效地混合 Java 和 C# 代码?实际上,我们将拥有依赖于 Java 代码库的 .NET 代码;Java 二进制文件需要运行单元测试代码以外的任何东西(集成测试已经需要二进制文件,而 QA、验收测试等当然也需要)。我们目前想到的是:

/树干
    /java
        /组件1
        /组件2
        /图书馆1
        /图书馆2
    /网
        /组装1
        /组装2
        /...
        项目.sln

这个想法是将整个源代码树放在一个分支下;.NET 代码依赖于 Java 代码,因此我们将向解决方案添加一个构建后步骤,该步骤将(最有可能)调用 Java 组件的 ant 脚本。这允许分支整个代码库(对于 .NET 开发人员)或仅 Java 组件(对于 Java 开发人员)。

这个解决方案的问题是:

  1. 当两个代码库之一变得如此之大以至于为每个分支制作它的副本变得不切实际时会发生什么?(我们的想法:拆分为.NET和Java代码和使用SVN单独的存储库:外部组件,在此任何输入将大大赞赏)。
  2. 我们使用 Eclipse 进行 Java 开发。我们如何管理“共享”工作空间(即哪些项目需要哪些组件、依赖关系图等)?到目前为止,我们拥有的 Java 组件相对较少,因此每个开发人员可以同时将所有这些组件保留在工作区中。随着 Java 组件和 Java 开发人员的增加,我不知道我们如何继续这样做;关于如何在保持两个代码库之间同步的同时保持工作区版本化(解决方案文件)的任何建议?

我很想听听您的意见!

version-control projects-and-solutions monorepo

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

如何通过 asyncio 使用阻塞函数

我在一个项目中使用 django ORM(在 django 之外)。我的工作流程是

  1. 通过 django ORM 选择对象并
  2. 然后使用 asyncio lib 将其发送到消息队列

问题是您无法在异步环境中调用阻塞函数,并且无法在阻塞环境中使用 async/await 。

我想出了两个解决方案:

  1. 整个程序应该是异步的。并loop.run_in_executor在需要时用于调用阻塞函数。

  2. 整个程序应该是同步的。并使用asyncio.run()(Python 3.7)调用所需的异步函数。

我无法决定哪一种方法更好。

我知道以前也有人问过类似的问题。我的问题是尝试组合阻塞和非阻塞代码时是否有一般规则?

python python-asyncio python-3.7

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

FastAPI 文件必须放在函数参数中的表单之前

我有一个端点,它接受一个文件和一个通过表单主体传递的字符串参数。但我在调试时注意到:

import uvicorn
from fastapi import FastAPI, File, Form

app = FastAPI()


@app.post('/test')
def test(test_item: str = Form(...), test_file: bytes = File(...)):
    return {
        "test_item": test_item,
        "test_file_len": len(test_file),
        "test_file_contents": test_file.decode('utf-8')
    }


if __name__ == '__main__':
    uvicorn.run(app, host="0.0.0.0", port=8000)
Run Code Online (Sandbox Code Playgroud)

使用这个简单的curl命令和其中包含一些文本的test_file.txt:

curl localhost:8000/test -X POST -F test_file=@"test_file.txt" -F test_item="test"
Run Code Online (Sandbox Code Playgroud)

没有处理这个错误:

{
    "detail": [
        {
            "loc": [
                "body",
                "test_file"
            ],
            "msg": "byte type expected",
            "type": "type_error.bytes"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

但有趣的是,这确实有效:

import uvicorn
from fastapi import FastAPI, File, Form

app = FastAPI()


@app.post('/test')
def …
Run Code Online (Sandbox Code Playgroud)

python-3.6 pydantic fastapi

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