Shell 如何从文件发送HTTPS请求?
假设我有一个文件request.txt,看起来像:Shell 如何从文件发送HTTPS请求?,shell,openssl,Shell,Openssl,假设我有一个文件request.txt,看起来像: GET / HTTP/1.0 Some_header: value text=blah 我试过: cat request.txt | openssl -s_client -connect server.com:443 不幸的是,它没有工作,我需要手动复制和粘贴文件内容。如何在脚本中执行此操作?cat不适合下载远程文件,它最好用于运行脚本的文件系统的本地文件。要下载远程文件,您可以使用其他命令来更好地处理此问题 如果您的环境安装了wget,
GET / HTTP/1.0
Some_header: value
text=blah
我试过:
cat request.txt | openssl -s_client -connect server.com:443
不幸的是,它没有工作,我需要手动复制和粘贴文件内容。如何在脚本中执行此操作?
cat
不适合下载远程文件,它最好用于运行脚本的文件系统的本地文件。要下载远程文件,您可以使用其他命令来更好地处理此问题
如果您的环境安装了wget
,则可以通过URL下载该文件。这里有一些链接。这看起来像:
wget https://server.com/request.txt
如果您的环境安装了curl
,则可以通过URL下载该文件。这里有一些链接。这看起来像:
curl -O https://server.com/request.txt
请注意,如果您想将响应存储在一个变量中以进行进一步修改,您还可以做更多的工作
另外值得注意的是,如果您真的必须使用
cat
下载远程文件,则有可能,但它可能需要使用ssh
,我不喜欢使用这种方法,因为它需要通过ssh
访问文件,而文件已经通过HTTP/s公开。我想不出这样做的实际原因,但为了完成,我想说的是,这是可以做到的,但可能不应该 cat
不适合下载远程文件,它最好用于运行脚本的文件系统的本地文件。要下载远程文件,您可以使用其他命令来更好地处理此问题
如果您的环境安装了wget
,则可以通过URL下载该文件。这里有一些链接。这看起来像:
wget https://server.com/request.txt
如果您的环境安装了curl
,则可以通过URL下载该文件。这里有一些链接。这看起来像:
curl -O https://server.com/request.txt
请注意,如果您想将响应存储在一个变量中以进行进一步修改,您还可以做更多的工作
另外值得注意的是,如果您真的必须使用
cat
下载远程文件,则有可能,但它可能需要使用ssh
,我不喜欢使用这种方法,因为它需要通过ssh
访问文件,而文件已经通过HTTP/s公开。我想不出这样做的实际原因,但为了完成,我想说的是,这是可以做到的,但可能不应该 看到这个了吗?看到这个了吗?哦,对不起,我说得不够清楚。我准备了一些特殊的请求,带有特殊的头和特殊的二进制数据,我想发送到服务器。整个请求都在我的计算机上的reqiest.txt中,现在我希望该请求被传输和发送。所以你认为通过openssl不太可能做到这一点,而我必须通过某种方式推动它?你介意用你刚才提供的信息更新你的问题吗?另外,任何其他信息都有助于了解您的意图。我不清楚那里有什么,但从您刚刚编写的内容来看,似乎您希望处理本地文本文件,以便将数据发送到远程服务器。是吗?我有一个请求要发送,请求在文件中。问题就是这么说的。哦,对不起,我没说清楚。我准备了一些特殊的请求,带有特殊的头和特殊的二进制数据,我想发送到服务器。整个请求都在我的计算机上的reqiest.txt中,现在我希望该请求被传输和发送。所以你认为通过openssl不太可能做到这一点,而我必须通过某种方式推动它?你介意用你刚才提供的信息更新你的问题吗?另外,任何其他信息都有助于了解您的意图。我不清楚那里有什么,但从您刚刚编写的内容来看,似乎您希望处理本地文本文件,以便将数据发送到远程服务器。是吗?我有一个请求要发送,请求在文件中。问题恰恰说明了这一点。