1

この問題についていくつか読んだところ、ある時点で、私が望んでいたことが可能であることがわかりました。コメント #3 では、これが表示されます。

request.post = {
  Name : "Jonathan Doe",
  Age : "23",
  Formula : "a + b == 13%!"
}

これはまさに、POST リクエストを PhantomJS Web サーバーに送信するときに取得したいものです。

こんな感じで送っています。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "localhost:8585");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);

$data = array(
 'ajaxUrl' => $ajaxUrl,
 'analysisFile' => $analysisFile,
 'businessId' => $businessId,
 'website' => $website
);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
$info = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch); 

..しかし、私が受け取るリクエストは次のようになります(後JSON.stringify):

{ "headers" : { "Accept" : "*/*",
      "Content-Length" : "555",
      "Content-Type" : "multipart/form-data; boundary=----------------------------ad33c9f28b99",
      "Expect" : "100-continue",
      "Host" : "localhost:8585"
    },
  "httpVersion" : "1.1",
  "method" : "POST",
  "post" : "------------------------------ad33c9f28b99\r\nContent-Disposition: form-data; name=\"ajaxUrl\"\r\n\r\nhttp://localhost/website/ajax.php\r\n------------------------------ad33c9f28b99\r\nContent-Disposition: form-data; name=\"analysisFile\"\r\n\r\nC:\\xampp\\htdocs\\website\\phantom\\get_site_info.js\r\n------------------------------ad33c9f28b99\r\nContent-Disposition: form-data; name=\"businessId\"\r\n\r\n67\r\n------------------------------d33c9f28b99\r\nContent-Disposition: form-data; name=\"website\"\r\n\r\nhttp://www.website.com/\r\n------------------------------ad33c9f28b99--\r\n",
  "url" : "/"
}

ご覧のとおり、POST オブジェクトはなく、すべての POST データを含む大きな文字列だけです。cURL経由で送信する方法ですか?私はそれと、ここから取得した cURL コードにかなり慣れていません。

それが役立つ場合、casperjs 1.1.0-DEVでphantomjs 1.9.1を実行しています。

4

2 に答える 2