나는 this issue에 대해 약간의 독서를했으며, 나는 한순간에 내가 원하는 것을 발견했다. 주석 # 3에서,이 나타납니다 :phantomjs에서 POST 데이터를 객체로 가져 옵니까?
request.post = {
Name : "Jonathan Doe",
Age : "23",
Formula : "a + b == 13%!"
}
을 자,이 정확히 내가 내 PhantomJS 웹 서버에 POST 요청을 보낼 때 얻을 할 것입니다.
나는이처럼 보내고있다 :
$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 없다 object, 모든 POST 데이터가 포함 된 큰 문자열. 그것이 내가 cURL을 통해 보내는 방식입니까? 나는 이것에 익숙하지 않고, 내가 가지고있는 cURL 코드는 here이다.
나는 casperjs 1.1.0-DEV로 phantomjs 1.9.1을 실행하고 있습니다. 도움이된다면.
Ah-ha! 우리는 거기에 갈. 데이터 인코딩은 트릭을 만들었습니다. 이상하게도, JSON.parse'는 phantoms webserver를 정지 시켰습니다. 그래서 그것에 대해 모르지만, 어쨌든 디버깅을 위해서였습니다. 감사! – Seiyria
@halfer Yup Typo, 답변 수정, 감사합니다. – immulatin