小编Jes*_*kum的帖子

在python查询参数中使用%20而不是+作为空格

我使用python请求(http://requests.readthedocs.org/en/latest/)编写了以下python脚本:

import requests

payload = {'key1': 'value  1', 'key2': 'value 2'}
headers = {'Content-Type': 'application/json;charset=UTF-8'}
r = requests.get("http://example.com/service", params=payload, headers=headers, 
             auth=("admin", "password"))
Run Code Online (Sandbox Code Playgroud)

如果我查看服务器的访问日志,传入的请求是:/ service?key1 = value ++ 1&key2 = value + 2

但是,服务器期望value%20%201&......

我已经读过使用+作为空格的占位符是内容类型application/x-www-form-urlencoded的一部分,但显然我已经请求了application/json.

有谁知道如何使用%20作为pythons请求的查询参数中的空格?

python python-requests

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

在find -exec中使用别名

我在bash中有一个很长的命令,我不想一直打字,所以我在我的.profile中添加了一个别名

alias foo='...'
Run Code Online (Sandbox Code Playgroud)

现在我想使用find -exec来执行这个别名

find . -exec foo '{}' \;
Run Code Online (Sandbox Code Playgroud)

但找不到foo:

find:foo:没有这样的文件或目录

是否可以在find中使用别名?

bash alias find

17
推荐指数
3
解决办法
3613
查看次数

spring-data mongo中的精确不区分大小写匹配

我正在使用带有mongo的spring数据和一个存储库.例如:

@Query("{ 'userName' : ?0 }")
public User findByUsername(String username);
Run Code Online (Sandbox Code Playgroud)

我想让这个案例不敏感.我使用了以下查询:

"{'userName' : { $regex : ?0, $options: 'i' } }"
Run Code Online (Sandbox Code Playgroud)

这有效,但它不仅匹配testUser,还匹配estUser.

我也试过了

"{'userName' : { $regex : ^?0$, $options: 'i' } }"
Run Code Online (Sandbox Code Playgroud)

但是这不能解析查询,因为它试图在正则表达式中插入引号.

com.mongodb.util.JSONParseException: 
({ $regex : ^"testUser"$, $options: 'i' }
            ^
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用/.../i正则表达式,我会遇到同样的问题.

有没有解决方案,不必使用mongoTemplate,或自己构建正则表达式?

java spring mongodb spring-data spring-data-mongodb

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