0

有一个网站,我需要从中购买物品。基本上我必须经过 3 个步骤才能购买该商品:

  1. 登录
  2. 将商品添加到购物车
  3. 填写详细信息并结帐

我正在尝试使用 CURL 或 HTTPWEBREQUESTS 来做到这一点,但它不想工作。我用来使它工作的步骤没有:

  1. 使用 POST 数据 [用户名和密码] 创建了一个带有 CURL 的 POST 请求到登录链接
  2. 还使用 CURL 将商品添加到购物车
  3. 使用 CURL 签出

无论如何,这一切都没有奏效。那么我应该采取任何步骤或考虑吗?我还想从 CURL 读取 HTTP 响应来读取源代码,看看我在哪里卡住了。

无论如何,这是我的 CURL 请求代码,它可能会有所帮助:

    static private void POST_DATA(string url, string data)
    {
        Curl.GlobalInit((int)CURLinitFlag.CURL_GLOBAL_ALL);

        Easy e = new Easy();
        Easy.WriteFunction wf = MyWriteFunction;

        string[] header = { "HTTP/1.1 200 OK Date: Tue, 06 Mar 2012 22:28:24 GMT Server: Apache Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: PHPSESSID=cq1viovgm2nvov3ovdftsfjg67; path=/ Vary: Accept-Encoding Cache-Control: max-age=600, private, must-revalidate Content-Length: 14161 Content-Type: text/html; charset=UTF-8", "content-type plain/text" };

        e.SetOpt(CURLoption.CURLOPT_HEADER, true);
        e.SetOpt(CURLoption.CURLOPT_HTTPHEADER, header);
        e.SetOpt(CURLoption.CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11");
        e.SetOpt(CURLoption.CURLOPT_URL, url);
        e.SetOpt(CURLoption.CURLOPT_POSTFIELDS, data);
        e.SetOpt(CURLoption.CURLOPT_WRITEFUNCTION, wf);
        //e.SetOpt(CURLoption.re)
        e.Perform();
        e.Cleanup();
    }
4

0 回答 0