문제

Curl과 PHP를 사용하여 URL을 게시하고 싶습니다.

웹 페이지에는 큰 양식이 있으며 모든 변수를 수동으로 복사하여 게시물 요청에 넣고 싶지 않습니다.

양식을 자동으로 직렬화하는 방법이 있어야한다고 생각합니다 (DOM 또는 무언가를 사용) 한 다음 필요한 값을 변경합니다.

나는이 길에서 내 길을 벗어날 수 없었기 때문에 누구나 도울 수있을만큼 친절하다고 궁금해했다.

그렇다면 URL에서 방금 가져온 많은 HTML 컨텐츠에 묻힌 양식을 자동으로 직렬화 할 수 있습니까?

도움을 주셔서 감사합니다. Andrew

도움이 되었습니까?

해결책

$http = new HttpQueryString();
$http->set($_POST);

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$http->get());

pecl pecl_http> = 0.22.0이 필요합니다

다른 팁

브라우저에서 서버에 양식을 가져 오는 방법이나 CURL 요청에 게시 된 양식을 배치하는 방법을 묻는 경우 나에게 지우지 않는 것이 좋습니다. PHP에서 게시 된 양식을 가정하면 다음과 같은 간단합니다.

curl_setopt ($ hands, curlopt_postfields, $ _post);

그런 식으로 검증되지는 않지만.

웹 쪽에서 일반 게시물을 통해 제출하는 것과는 달리 Dom/JavaScript를 사용하여 양식을 직렬화 할 이유는 확실하지 않습니까?

질문이 실제로 무엇인지 확실하지 않지만 다음과 같은 일을하고 싶어합니다.

$fields_string = http_build_query($data_to_send);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields_string);

또는 이것을 조사해야합니다.

$html = file_get_html('http://www.thesite.com/thepage.html');
foreach($html->find('input') as $element) 
echo $element->name . '<br>';

나는 질문을 이해하지 못한다. 양식을 스크레이프하고 채우고 입력 한 다음 다시 게시 한 페이지에 다시 게시하고 싶은 것처럼 들립니다. 맞습니까?

댓글에 대한 응답 편집 : Simple HTML DOM (PHP로 스크래핑에 사용하는 것)과 같은 도구로 Curl'd HTML을 긁어내는 것이 좋습니다. 선택 라이브러리에 대한 문서는 양식 필드를 식별하는 방법을 파악하는 데 도움이됩니다. 그런 다음 Curl_Post_Fields 속성을 양식으로 전달하려는 값으로 설정하여 양식의 조치 페이지를 말려야합니다. urlencode()'물론. 물론.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top