Skip to content

bark 自建服务器(带用户名和密码)post 无法使用webhook #1403

@DFP86

Description

@DFP86

Description

您好大大们~

前提:DDNS正常更新,所有DDNS相关功能目前正常,ddns-go版本 v6.8.1。json内容我检查无误确保正确。

我自建了bark-server在本地,因为没放在公网,所以用http请求即可,我自己瞎写的python程序是能正常调用自建bark-server进行推送消息的。

自建bark-server可以接受传入的请求是:
1 get方式:http://用户名:密码@192.168.1.1:port/my_key/推送内容?group=分组&copy=复制
传入 http://用户名:密码@192.168.1.1:port/my_key/test,报错:
Webhook调用失败! 异常信息:返回内容: I'm a teapot ,返回状态码: 418

2 post方式有2种:
(1)http://用户名:密码@192.168.1.1:port/my_key
并把 {json}写进RequestBody里,并通过了检查。
无论是否添加 Content-Type: application/json; charset=utf-8(我看issus提到好像会自动补全)
都返回:Webhook调用失败! 异常信息:返回内容: I'm a teapot ,返回状态码: 418

(2)my_key可以放在json里,但url必须为/push
于是用 http://用户名:密码@192.168.1.1:port/push 把key放进json里,依然418
删掉push,则可以调用成功但bark-server返回404,因为没有传入/push。

也就是,只有http://用户名:密码@192.168.1.1:port,会成功推到bark-sever,看到bark-sever的log。而其他方式都没有传到bark里去,包括http的get方式也传不进去。

因我水平有限,不太能看得懂源代码(看了但不会改所以无法提出修改),但我比较怀疑是调用webhook时候的校正和传参导致的拼接问题。

所以如果是传参或者程序校正出了问题,请优先修改成允许

http://用户名:密码@192.168.1.1:port/my_key,然后传入json即可。

因为/push我没在python里尝试过,并不知道能不能生效,但之前说的,是我验证过能生效的,估计是因为传入了用户名密码,port和my-key,导致无法通过程序检查,导致无法调用。

麻烦大大们帮忙检查一下我说的位置,谢谢大大们~

DNS Provider

阿里云

Did you search for similar issues before submitting this one?

Yes, I did, but I didn't find anything useful

Operating System

Linux

Architecture

x86_64

Version

v6.8.1

How are you running ddns-go?

Docker

Any other information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions