首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带线性馈送信息的Push子pycurl

带线性馈送信息的Push子pycurl
EN

Stack Overflow用户
提问于 2015-04-09 11:38:00
回答 1查看 1.1K关注 0票数 1

我试图发送带有linefeed /newline的pushbullet通知,但它不起作用。当我添加%0d或\n时,它不会做任何事情。

在bash中,我只需将-d添加到curl命令中就可以了。对于吡咯烷酮有类似的解决方案吗?

提前感谢

有什么建议吗?

代码语言:javascript
运行
复制
import pycurl


text2 = "line%0dline2"
postData =  '{"type":"note", "title":"Title", "body":"%s"}' %text2.encode("utf-8")
c = pycurl.Curl()
c.setopt(pycurl.WRITEFUNCTION, lambda x: None)
c.setopt(pycurl.URL, 'https://api.pushbullet.com/v2/pushes')
c.setopt(pycurl.HTTPHEADER, ['Content-Type: application/json'])
c.setopt(pycurl.USERPWD, "api")
c.setopt(pycurl.POST, 1)
c.setopt(pycurl.POSTFIELDS, postData)
c.perform()
EN

Stack Overflow用户

回答已采纳

发布于 2015-04-09 15:54:00

我猜你用的是:

代码语言:javascript
运行
复制
postData = '{"type":"note", "title":"Title", "body":"line\nline2"}'

这意味着当您将其发送到服务器时,服务器会看到以下内容:

代码语言:javascript
运行
复制
{"type":"note", "title":"Title", "body":"line
line2"}

您可以通过这样做来看到这一点:

代码语言:javascript
运行
复制
print(postData)

JSON指定当换行符出现在字符串中时必须转义,所以您真正想要发送的是:

代码语言:javascript
运行
复制
{"type":"note", "title":"Title", "body":"line\nline2"}

要在python中获得这一点,您应该使用"\n“或原始字符串:

代码语言:javascript
运行
复制
postData = '{"type":"note", "title":"Title", "body":"line\\nline2"}'
票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29537481

复制
相关文章

相似问题

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