bash - 如何通过 cURL 从 openvpn-as 下载 ovpn 文件
问题描述
我正在尝试通过 curl 命令对我的 openvpn-as 服务器进行身份验证。我的最终目标是能够像通过浏览器但通过 cli 下载 ovpn 文件。我能够从浏览器获取 cURL 命令,但得到 403。
我的 curl 命令如下所示:
curl -iL 'https://192.168.35.229:943/?src=connect' \
-H 'Connection: keep-alive' \
-H 'Accept: text/plain, */*; q=0.01' \
-H 'X-OpenVPN: 1' \
-H 'X-Requested-With: XMLHttpRequest' \
-H 'X-CWS-Proto-Ver: 2' \
-H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36 OPR/70.0.3728.178' \
-H 'Origin: https://192.168.35.229:943' \
-H 'Sec-Fetch-Site: same-origin' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Dest: empty' \
-H 'Accept-Language: en-US,en;q=0.9' \
--data-raw 'username=dummy&password=dummy' \
--compressed \
--insecure
响应如下所示:
HTTP/1.1 302 Found
Transfer-Encoding: chunked
Set-Cookie: openvpn_sess_c6bec1b42f39a6d1034a54580d5422dc=36bce77626a6e403eb6ae9f02576d460; Expires=Wed, 16 Sep 2020 05:15:12 GMT; Path=/; Secure; HttpOnly
Server: OpenVPN-AS
Location: https://192.168.35.229:943/__session_start__/
Date: Wed, 16 Sep 2020 04:45:12 GMT
X-Frame-Options: SAMEORIGIN
Content-Type: text/html; charset=utf-8
HTTP/1.1 403 Forbidden
Transfer-Encoding: chunked
Date: Wed, 16 Sep 2020 04:45:12 GMT
X-Frame-Options: SAMEORIGIN
Content-Type: text/html; charset=UTF-8
Server: OpenVPN-AS
<html><head><title>Forbidden</title></head><body><h1>Forbidden</h1>Request was forbidden.</body></html>#
我无法在文档中找到任何关于此的示例或说明。有没有办法通过 CLI - 通过 bash 脚本来实现?
解决方案
我能够根据这篇文章找到解决方案。curl 命令如下所示:
curl -u dummy:dummy -k https://192.168.35.229:943/rest/GetUserlogin
推荐阅读
- mongodb - 为什么嵌套的 MongoDB 模式比平面模式慢?
- reactjs - Bootstrap 导航栏坏了
- javascript - 赛普拉斯接受音频等浏览器权限
- java - Docker 与 Java 监听端口和访问 MacOS 上的端口
- r - r - 根据多个 data.frame 列在列表中找到相等的元素并删除它们
- arrays - 从一个长字符串中获取特定字符串
- erlang - Erlang:计时器 - 如何在 TRef 到期前获得秒数?
- html - 使用 xslt 语言的两个“xsl:for-each”cicle 中的计数器项目
- python - selenium ActionChains 缺少执行
- macos - macOS:更改没有扩展名的文件的默认应用程序