3
Python 3で以下のコードを実行すると、構文エラーinvalid syntax
が発生します。この理由は、python 3のprintが異なる構文を持っているからです。私はPython 3を使用するとurllibエラーが発生する
result = urlopen(request).read()
に私の最後の行を変更したときに
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()
は、しかし、私は次のエラーを取得する:
TypeError: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str.
Python 3 printは関数であり、 'print()'として使用します。 'ba = urlopen(request).read()。encode( 'latin1')' – Vinny
を使って文字列を 'bytearray'に変換してみてください@Vinnyはまだ同じエラーです – tony9099