我正在尝试使用python中的requests.get()获取以下格式的URL:
http://api.example.com/export/?format=json&key=site:dummy+type:example+group:wheel
#!/usr/local/bin/python
import requests
print(requests.__versiom__)
url = 'http://api.example.com/export/'
payload = {'format': 'json', 'key': 'site:dummy+type:example+group:wheel'}
r = requests.get(url, params=payload)
print(r.url)
Run Code Online (Sandbox Code Playgroud)
但是,URL的编码百分比,我没有得到预期的响应.
2.2.1
http://api.example.com/export/?key=site%3Adummy%2Btype%3Aexample%2Bgroup%3Awheel&format=json
Run Code Online (Sandbox Code Playgroud)
如果我直接传递URL,这是有效的:
url = http://api.example.com/export/?format=json&key=site:dummy+type:example+group:wheel
r = requests.get(url)
Run Code Online (Sandbox Code Playgroud)
有没有办法以原始形式传递参数 - 没有百分比编码?
谢谢!
我想在多个 AWS 资源上实现原子事务 - 例如,将对象上传到 S3 并将记录添加到 DynamoDB 表。两者应该同步发生——或者根本不发生。如果其中一项操作失败,则应回滚另一项操作。我知道我可以自己实现它,但我想知道是否有一个现有的库可以做到这一点。
实施这一过程的挑战之一是临时凭证过期。如果凭据在执行其中一项操作后过期怎么办?
有什么建议么?
以下工作正常:
user@host ~/test> pip install -e 'git+http://git.mydomain.com/project.git#egg=project-sdk&subdirectory=sdk/python'
Run Code Online (Sandbox Code Playgroud)
但以下失败:
user@host ~/test> pip install 'git+http://git.mydomain.com/project.git#egg=project-sdk&subdirectory=sdk/python'
Collecting project from git+http://git.mydomain.com/project.git#egg=project-sdk&subdirectory=sdk/python
Cloning git+http://git.mydomain.com/project.git to /tmp/160806751.tmpdir/pip-build-XR8vJn/project-sdk
remote: Counting objects: 180, done.
remote: Compressing objects: 100% (135/135), done.
remote: Total 180 (delta 46), reused 0 (delta 0)
Receiving objects: 100% (180/180), 52.71 KiB | 0 bytes/s, done.
Resolving deltas: 100% (46/46), done.
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 18, in <module>
IOError: [Errno 2] No such file …
Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,其中客户端(用多种语言编写 - Go、C++、Python、C#、Java、Perl 以及将来可能更多)向 SQS 提交 protobuf(在某些情况下,还有 JSON)消息。在另一端,消息由 Python 和 Go 客户端读取和解码 - 取决于消息类型。Boto 似乎自动将消息编码为 base64,但其他语言库似乎没有这样做。或者也许还有其他一些规则?
Boto 确实可以选择提交原始消息。
这里的预期行为是什么?我应该自己将消息编码到 base64 中 - 这使 boto 成为一个奇怪的案例 - 还是我遗漏了什么?
这在我的应用程序中造成了一些微妙的错误,因为额外的 base64 编码或解码层。据我所知,没有惯用的方法来检测消息是否是 base64 编码的。最好的选择是尝试解码并查看它是否抛出异常 - 我不太喜欢这种情况。
我试图寻找一些文档,但找不到任何具有明确指导方针的内容。也许我看错了地方?
在此先感谢您的指点。