0

アイテムを購入する必要がある Web サイトがあります。基本的に、商品を購入するには次の 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