我试图发送带有linefeed /newline的pushbullet通知,但它不起作用。当我添加%0d或\n时,它不会做任何事情。
在bash中,我只需将-d添加到curl命令中就可以了。对于吡咯烷酮有类似的解决方案吗?
提前感谢
有什么建议吗?
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()发布于 2015-04-09 15:54:00
我猜你用的是:
postData = '{"type":"note", "title":"Title", "body":"line\nline2"}'这意味着当您将其发送到服务器时,服务器会看到以下内容:
{"type":"note", "title":"Title", "body":"line
line2"}您可以通过这样做来看到这一点:
print(postData)JSON指定当换行符出现在字符串中时必须转义,所以您真正想要发送的是:
{"type":"note", "title":"Title", "body":"line\nline2"}要在python中获得这一点,您应该使用"\n“或原始字符串:
postData = '{"type":"note", "title":"Title", "body":"line\\nline2"}'https://stackoverflow.com/questions/29537481
复制相似问题