0

我正在尝试使用 cURL post-callback.c ex 将本地 html表单提交到远程表单脚本。我需要知道脚本在处理完帖子后对 URL/httpheader 做了什么,所以我知道帖子是否成功(进入成功页面)。

我无法确切地知道如何编写我需要发布的数据。(语法,方法)以及如何在脚本运行后检索和显示重定向的 url。

有两个表单域要发布:name="row1" 和 name="value1"。如何正确地将其放入数据数组中?

谢谢!:)

4

1 回答 1

0

查看 HTTP 协议的精彩介绍: http ://www.jmarshall.com/easy/http/#postmethod

您需要向 HTTP 服务器发送一个 POST 命令,然后检查服务器的响应。我在我的网络服务器上创建了一个名为 post.php 的 PHP 文件,它所做的只是

print_r($_POST);

现在我将通过 Telnet 向它发布一些数据:

justin:~ justin$ telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
POST /~justin/post.php HTTP/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 36

key1=value1&key2=value2&key3=value3

并检查服务器的响应:

HTTP/1.1 200 OK
Date: Sat, 17 Oct 2009 06:39:02 GMT
Server: Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8k DAV/2 PHP/5.3.0
X-Powered-By: PHP/5.3.0
Set-Cookie: ZDEDebuggerPresent=php,phtml,php3; path=/
Content-Length: 81
Connection: close
Content-Type: text/html

<pre>
Array
(
    [key1] => value1
    [key2] => value2
    [key3] => value3
)

服务器说“HTTP/1.1 200 OK”,所以它工作了。

现在,对于 cURL 示例,您需要将类似的 POST 命令打包成一个字符串(这当然是一个字符数组,在 C 中)。如果您不熟悉在 C 中使用字符串,请在线查找示例,您会发现很多。

于 2009-10-17T06:43:50.313 回答