50 lines
878 B
Python
50 lines
878 B
Python
|
import usocket as socket
|
||
|
import ssl
|
||
|
|
||
|
|
||
|
def main():
|
||
|
s = socket.socket()
|
||
|
|
||
|
host = "ntfy.acorneroftheweb.com"
|
||
|
token = ""
|
||
|
port = 443
|
||
|
|
||
|
ai = socket.getaddrinfo(host, port)
|
||
|
print("Address infos:", ai)
|
||
|
addr = ai[0][-1]
|
||
|
|
||
|
print("Connect address:", addr)
|
||
|
s.connect(addr)
|
||
|
|
||
|
s = ssl.wrap_socket(s)
|
||
|
|
||
|
headers = """\
|
||
|
POST / HTTP/1.1\r
|
||
|
Host: {host}\r
|
||
|
Content-Type: application/json\r
|
||
|
Authorization: Bearer {token}
|
||
|
Accept: */*\r
|
||
|
Content-Length: {content_length}\r
|
||
|
\r\n"""
|
||
|
body = '{"topic": "d1", "message": "Hejsan", "title": "Dab"}'
|
||
|
|
||
|
|
||
|
body_bytes = body.encode('ascii')
|
||
|
header_bytes = headers.format(
|
||
|
content_length=len(body_bytes),
|
||
|
token=token,
|
||
|
host=str(host)
|
||
|
).encode('iso-8859-1')
|
||
|
|
||
|
payload = header_bytes + body_bytes
|
||
|
|
||
|
print(payload)
|
||
|
|
||
|
s.write(payload)
|
||
|
print(s.read(4096))
|
||
|
|
||
|
s.close()
|
||
|
|
||
|
|
||
|
main()
|