import httpx
class NodeLoc():
def __init__(self):
self.cli=httpx.Client(base_url="https://nodeloc.com/",headers={
"user-agent":"NLPay/0.1"
},follow_redirects=True)
self.update_csrf()
def update_csrf(self):
self.cli.headers["x-csrf-token"]=self.cli.get("/").headers["x-csrf-token"]
return self.cli.headers["x-csrf-token"]
def login(self,token):
self.cli.cookies["flarum_remember"]=token
data=self.cli.get("/api/user").json()
self.uid=data["id"]
self.uname=data["username"]
def get_uid_by_username(self,username):
resp=self.cli.get("/api/posts",params={
"filter[author]":username,
"filter[type]":"comment",
"page[offset]":0,
"page[limit]":1
})
resp.raise_for_status()
data=resp.json()["data"]
if len(data)==0:
return None
else:
return data[0]["relationships"]["user"]["data"]["id"]
class Messenger(NodeLoc):
def send(self,to,content):
self.update_csrf()
resp=self.cli.post("/api/whisper/conversations",
json={"data":
{
"type":"conversations",
"attributes":{"messageContents":content,"recipient": str(to)}
}}
)
return resp
这是代码,API自行抓包获得,现在的问题上send()函数调用之后会重定向成get请求,然后返回200,但是没有创建;前端抓包是返回201.