小编big*_*ose的帖子

REST:正确的HTTP响应代码,用于忽略的POST

我们有一个REST API,客户端通常会POST和PUT数据.当他们这样做时,有时他们POST数据导致我们的系统没有变化.POST和PUT格式正确,但是他们发送的数据与我们数据库中的数据完全相同.当发生这种情况时,我发现我们正在返回400 HTTP状态.不幸的是,这意味着"不良请求",因为"由于语法格式错误,服务器无法理解请求".

显然情况并非如此,但我被告知我们将使用它,因为没有其他适当的状态代码.我们考虑过的选择:

  • 304未修改.遗憾的是,这仅适用于GET请求.
  • 204没有内容.似乎很接近,但禁止实体.

其他选择似乎同样糟糕.我们可能会200 OK在我们返回的XML文档中使用并获得相关信息,但这似乎不是"RESTish".REST世界通常如何处理这个问题?

(修正未修改的响应代码.感谢Mkoeller)

rest http http-headers

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

如何从JavaScript检测HTTP状态

我希望在脚本中检测到,无论页面是否以200,404或500等HTTP状态交付,都可能无法控制.

这不可能做到,对吧?

javascript dom http

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

复制单元格样式openpyxl

我正在尝试将工作表复制default_sheetnew_sheet同一工作簿中的新工作表中.

我设法创建了一个新工作表并从默认工作表复制值.如何将每个单元格的样式复制到new_sheet单元格中?

new_sheet = workbook.create_sheet()
new_sheet.title = sheetName
default_sheet = workbook.get_sheet_by_name('default')
new_sheet = workbook.get_sheet_by_name(sheetName)
for row in default_sheet.rows:
    col_idx = float(default_sheet.get_highest_column())
starting_col = chr(65 + int(col_idx))
for row in default_sheet.rows:
    for cell in row:
        new_sheet[cell.get_coordinate()] = cell.value
        <copy also style of each cell>
Run Code Online (Sandbox Code Playgroud)

我目前正在使用openpyxl 1.8.2,但我想切换到1.8.5.

一个解决方案是复制:

from copy import copy, deepcopy

new_sheet._styles[cell.get_coordinate()] = copy(
        default_sheet._styles[cell.get_coordinate()])
Run Code Online (Sandbox Code Playgroud)

python openpyxl

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

撤销芹菜的任务

我想明确撤销芹菜的任务.这就是我目前的做法: -

from celery.task.control import revoke

revoke(task_id, terminate=True)
Run Code Online (Sandbox Code Playgroud)

task_id在哪里string(也尝试将其转换为UUID uuid.UUID(task_id).hex).

在上述过程之后,当我再次启动芹菜时,celery worker -A proj它仍会消耗相同的消息并开始处理它.为什么?

查看时flower,消息仍在代理部分中.如何删除邮件以使其无法再次使用?

python rabbitmq celery

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

Python中的HTTP身份验证

什么是python urllib等效的

curl -u username:password status="abcd" http://example.com/update.json
Run Code Online (Sandbox Code Playgroud)

我这样做了:

handle = urllib2.Request(url)
authheader =  "Basic %s" % base64.encodestring('%s:%s' % (username, password))
handle.add_header("Authorization", authheader)
Run Code Online (Sandbox Code Playgroud)

有更好/更简单的方法吗?

python authentication curl http-headers

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

带有自定义语法的最佳文本编辑

什么是能够创建自定义语法的最佳文本编辑器?我使用的是notepad ++,但自定义语法有点受限,而插件(即textFX)有一些错误可以满足我.我听说过Vim和Emacs(哪个更好?),但我想要一个具有许多功能的FAST编辑器.

customization syntax-highlighting editor

15
推荐指数
2
解决办法
6896
查看次数

如何访问$ _SERVER中未出现的请求标头?

我试图在PHP中创建REST API,我想实现类似于Amazon S3方法的身份验证方案.这涉及在请求中设置自定义"授权"标头.

我以为我能用$ _SERVER ['HTTP_AUTHORIZATION']访问标题,但在var_dump($ _ SERVER)中找不到它.apache_request_headers()函数可以解决我的问题,但是我的主机将PHP实现为CGI,因此它不可用.

有没有其他方法可以访问PHP中的完整请求标头?

php http http-headers

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

当存在具有相同名称的本地模块时,如何在Python中访问标准库模块?

当文件prog.py与具有相同名称的本地模块(math.py)放在同一目录中时,如何访问标准库模块(比如数学)?

我问这个问题,因为我想创建uncertainties一个可以用作的包

import uncertainties
from uncertainties.math import *
Run Code Online (Sandbox Code Playgroud)

因此,不确定性目录中有一个本地数学模块.问题是我想从不确定性/ __ init__.py访问标准库数学模块.

我不想重命名不确定性.因为这个模块正是用于替换数学模块中的函数(具有处理数值不确定性的等价物).

PS:这个问题与我为执行不确定性计算而编写的模块有关,同时考虑了变量之间的相关性.

python import module standard-library

15
推荐指数
2
解决办法
5647
查看次数

带有源映射的调试器中的Mangled名称

使用grunt-contrib-uglify生成的源地图时,Chrome/Safari中的调试器不会显示未编码的变量名称.源代码显示和调试正确.我已经验证源映射包含变量名称.这是uglify中的错误吗?

原始来源:

// two

function two()
{
    var test = "test";

    console.log("this is a " + test);
}
Run Code Online (Sandbox Code Playgroud)

生成的来源:

function two(){var a="test";console.log("this is a "+a)}
//# sourceMappingURL=all.min.js.map
Run Code Online (Sandbox Code Playgroud)

来源地图:

{
    "version": 3,
    "file": "all.min.js",
    "sources": ["../src/two.js"],
    "names": ["two","test","console","log"],
    "mappings":";;AAEA,QAASA,OAEL,GAAIC,GAAO,MAEXC,SAAQC,IAAI,aAAeF",
    "sourceRoot":"../"
}
Run Code Online (Sandbox Code Playgroud)

javascript debugging google-chrome source-maps grunt-contrib-uglify

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

文件对象的绝对路径

这已经在StackOverflow上讨论了 - 我试图找到一个很好的方法来找到文件对象的绝对路径,但我需要它是健壮的os.chdir(),所以不能使用

f = file('test')
os.path.abspath(f.name)
Run Code Online (Sandbox Code Playgroud)

相反,我想知道以下是否是一个很好的解决方案 - 基本上扩展文件类,以便在打开时,保存文件的绝对路径:

class File(file):

    def __init__(self, filename, *args, **kwargs):
        self.abspath = os.path.abspath(filename)
        file.__init__(self, filename, *args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

然后就可以做到

f = File('test','rb')
os.chdir('some_directory')
f.abspath # absolute path can be accessed like this
Run Code Online (Sandbox Code Playgroud)

这样做有风险吗?

python filesystems file

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