【问题标题】:Trying to use cURL post-callback.c for http form submision尝试使用 cURL post-callback.c 进行 http 表单提交
【发布时间】:2009-10-17 05:33:26
【问题描述】:

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

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

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

谢谢! :)

【问题讨论】:

    标签: post curl libcurl


    【解决方案1】:

    查看 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 中使用字符串,请在线查找示例,您会找到很多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      • 2014-03-25
      • 1970-01-01
      • 2019-08-26
      相关资源
      最近更新 更多