尝试使用cURL post-callback.c进行http表单提交

时间:2009-10-17 05:33:27

标签: post curl libcurl

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

我无法弄清楚如何编写我需要发布的数据。 (语法,方法)以及如何在脚本运行后检索和显示重定向的URL。

要发布两个表单字段:name =“row1”和name =“value1”。如何正确地将其放入数据阵列?

谢谢! :)

1 个答案:

答案 0 :(得分: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语言中的字符串,请在线查看示例,您会发现很多。