gpt4 book ai didi

http - 使用原始 HTTP (PuTTY) 通过 POST 发送文件

转载 作者:可可西里 更新时间:2023-11-01 15:11:15 26 4
gpt4 key购买 nike

如果我设置一个具有以下形式的 HTML 页面:

<html>

<body>
<form action="upload_file.php"
method="post"
enctype="multipart/form-data">

<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>

</html>

我可以将文件上传到 upload_file.php,我可以在其中使用 PHP 脚本处理它。

出于测试目的,我需要通过 PuTTY 使用原始 HTTP 执行相同的操作 session 。

我可以通过这种方式进行正常的 POST(仅发送文本数据):

POST /test_post.php HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 11

name=myname

我怎样才能用这种方式发送文件?

最佳答案

您必须使用multipart 内容类型并将文件数据编码为十六进制/二进制

在 telnet 中尝试以下操作:

POST /the_url HTTP/1.1
User-Agent: Mozilla
Host: www.example.com
Content-Length: xxxx
Content-Type: multipart/form-data; boundary=--------------------31063722920652
------------------------------31063722920652
Content-Disposition: form-data; name="a"

value_for_a
------------------------------31063722920652
Content-Disposition: form-data; name="b"

value_for_b
------------------------------31063722920652
Content-Disposition: form-data; name="c"; filename="myfile.txt"
Content-Type: text/plain

This is a test
and more

-----------------------------31063722920652
Content-Disposition: form-data; name="submit"

Submit
-----------------------------31063722920652--

请记住,在字段名称和它的数据之间需要一个额外的换行符。此外,更新 Content-Length 值。

关于http - 使用原始 HTTP (PuTTY) 通过 POST 发送文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7553005/

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