stable diffusion webui 登录接口(login)api接口调用(使用C#)

stable diffusion webui 登录接口(login)api接口调用(使用C#)

    正在检查是否收录...

唠嗑

本次将跟读者讲一下如何通过C#请求sd webui api【login】接口,如果读者觉得文章有用,请给【点个赞】吧,有问题可以评论区提问。

实战

1.配置api启用参数

启动webui时,需加上【–api】 、【–api-auth 账号:密码】 和【–gradio-auth 账号:密码】 的方式启用。如下图所示的方式,进行开启即可。
注:这里只设置–api-auth的密码是无效了,login接口,是用于ui页面登录的,原有代码是没有api-auth接口返回token的。(如果说错了,欢迎指正)

2.本地运行

访问http://127.0.0.1:7860/docs 可以看到swagger文档,找到【login】接口

3.代码实战

1、在控制台程序中,需要安装【RestSharp】nuget包,用于做api请求。

2、添加以下代码到你的项目中,直接运行即可,请求的是本地运行的接口,如下的【http://127.0.0.1:7860/sdapi/v1/login】,需要替换为读者自己的路径。
3、设置【username】和【password】,这里启动sd项目时,使用了如下的账号和密码,读者需要替换为自己本地的
4、可以发现,获取到的response.content中返回的是{“success”:true},而没有token。
5、通过debug看响应体,可以发现在cookies中是有token的,这个时候,通过获取cookies中的token,即可达到目的,如下图。

using RestSharp; //post方式进行登录,登录成功后,获取cookies中的token var client = new RestClient("http://127.0.0.1:7860/login/"); var request = new RestRequest(); request.AddHeader("Accept", "*/*"); request.AddHeader("Connection", "keep-alive"); request.AddHeader("Content-Type", "application/x-www-form-urlencoded"); request.AddParameter("username", "你的账号");//账号 request.AddParameter("password", "你的密码");//密码 var response = client.Post(request); Console.WriteLine($"请求结果:{response.Content}"); //获取token var res = response?.Cookies?["access-token"]?.Value; Console.WriteLine($"获取到的token:{res}"); 

tokenapiclicodewebui本地运行webwordurlappgradiodebugswaggerdoc
  • 本文作者:李琛
  • 本文链接: https://wapzz.net/post-2285.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
本站部分内容来源于网络转载,仅供学习交流使用。如涉及版权问题,请及时联系我们,我们将第一时间处理。
文章很赞!支持一下吧 还没有人为TA充电
为TA充电
还没有人为TA充电
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
2.3W+
5
0
1
WAP站长官方

PHP 开发 OpenAi中的Whisper API遇到问题,望大佬帮忙解决

上一篇

你真的了解AIGC吗?

下一篇
  • 复制图片
按住ctrl可打开默认菜单