每当我在Python 3中运行以下代码时,我都会收到语法错误invalid syntax
。我假设的原因是因为python 3中的print具有不同的语法。
import sys
from urllib.request import urlopen
from urllib.request import Request
import json
request = Request(
"https://gcm-http.googleapis.com/gcm/send",
dataAsJSON,
{ "Authorization" : "key="+MY_API_KEY,
"Content-type" : "application/json"
}
)
print urlopen(request).read()
但是,当我将最后一行更改为
时result = urlopen(request).read()
我收到以下错误:
TypeError:POST数据应该是字节,可迭代的字节或文件 宾语。它不能是str类型。
答案 0 :(得分:3)
在创建request
对象之前将数据转换为字节字符串。
dataAsJSON = dataAsJSON.encode()