gpt4 book ai didi

sockets - 如何在 Telnet 中创建 HTTP 请求

转载 作者:可可西里 更新时间:2023-11-01 16:55:37 27 4
gpt4 key购买 nike

我有兴趣编写 HTTP 请求脚本到我编写的监听网络服务(用于测试目的)。我想在 Powershell 中执行此操作。通过 telnet 发起 HTTP 请求非常简单。

telnet google.com 80

然后,在建立套接字后,我可以输入以下 HTTP 动词和文件:

GET/search?q=test

这相当于在 google 上搜索单词“test”。伟大的!但是,如果我想做一些更有趣的事情,我需要提供更详细的 HTTP 请求 header 。我正在尝试做一些与此处示例非常相似的事情:http://blog.tonycode.com/tech-stuff/http-notes/making-http-requests-via-telnet

按照作者在上一个站点的示例,我创建了一个包含以下内容的本地文件:

echo "open $1 $2"
sleep 2
echo "GET $4 HTTP/1.0"
echo "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4"
echo "Host: $3"
echo
echo
sleep 2

(这类似于我想用于测试我自己的网络服务的自定义 HTTP 请求 header )

然后我将此文件保存为“getpage”(我也尝试将其保存为“getpage.sh”)。我继续遵循作者的示例,并尝试将之前的文件从 Powershell 通过管道传输到 telnet:

./getpage tonycode.com 80 tonycode.com /| telnet

但是,Powershell 返回以下错误:

Cannot run a document in the middle of a pipeline: ~\Desktop\getpage.
At line:1 char:1
+ ./getpage tonycode.com 80 tonycode.com /| telnet
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (~....Desktop\getpage:String) [], RuntimeException
+ FullyQualifiedErrorId : CantActivateDocumentInPipeline

我在 Powershell 中输入 $PSVersionTable 并验证我使用的是 Powershell 4.0 版。我开始没有想法了。我浏览了有关通过 telnet 的 http 请求的 StackOverflow 论坛,但我还没有找到通过 telnet 发送自定义 HTTP 请求 header 的好方法,方法是通过 shell 管道传入预格式化的 http header 。我不能真正在 telnet 中键入整个 Http 请求,因为 1) 这违背了编写此类脚本的目的,以及 2) 在我可以完成键入完整的 Http header 之前,从 telnet 按 Enter 键提交当前请求。有没有人对我如何在 PowerShell 中完成此操作有任何建议?我已经可以在 Firefox 中编写和发送自定义 Http header ,这让生活变得更轻松。如果可能的话,我只想在 Powershell 中编写脚本。提前致谢。

最佳答案

I am interested in scripting a HTTP Request to a listening web service I wrote (for testing purposes). I want to do this in Powershell.

然后别管 telnet :)

PowerShell(v3+) 具有内置的 cmdlet:

或者您可以使用System.Net.Sockets.TcpClient

或者System.Net.WebClient

附言:

Lee Holmes in action :D

关于sockets - 如何在 Telnet 中创建 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34443948/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com