이 사이트에서 몇 가지 임의 단락을 얻기 위해 PHP를 사용하는 찾고 있어요 : http://watchout4snakes.com/CreativityTools/RandomParagraph/RandomParagraph.aspxPHP 양식 제출 및 구문 분석
제출 버튼을 시작하는 코드의 짧은 세트가 무엇합니다 (를 입력 할 필요가 없습니다 텍스트 필드)를 분석하고 결과 임의의 텍스트 만 구문 분석합니까?
제출 작품이 작동하지 않는 것 같습니다.
이 사이트에서 몇 가지 임의 단락을 얻기 위해 PHP를 사용하는 찾고 있어요 : http://watchout4snakes.com/CreativityTools/RandomParagraph/RandomParagraph.aspxPHP 양식 제출 및 구문 분석
제출 버튼을 시작하는 코드의 짧은 세트가 무엇합니다 (를 입력 할 필요가 없습니다 텍스트 필드)를 분석하고 결과 임의의 텍스트 만 구문 분석합니까?
제출 작품이 작동하지 않는 것 같습니다.
더 유연한 방법 - 동적으로 viewstate가 및 eventvalidation 가져 오기 :
이<?php
$url = 'http://watchout4snakes.com/CreativityTools/RandomParagraph/RandomParagraph.aspx';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)');
$c = curl_exec($ch);
curl_close($ch);
//__VIEWSTATE
$viewstate = '';
//__EVENTVALIDATION
$eventvalidation = '';
// Fetch VIEWSTATE
$p1 = '<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="';
$p = strpos($c, $p1);
if ($p !== false) {
$s = substr($c, $p+strlen($p1));
$pcs = explode('"', $s);
if (!empty($pcs[0])) {
$viewstate = $pcs[0];
}
}
// Fetch EVENTVALIDATION
$p1 = '<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="';
$p = strpos($c, $p1);
if ($p !== false) {
$s = substr($c, $p+strlen($p1));
$pcs = explode('"', $s);
if (!empty($pcs[0])) {
$eventvalidation = $pcs[0];
}
}
// PUT YOUR OBJECT & SUBJECT HERE
$postvalues = array(
'tmpl$main$txtSubject' => '',
'tmpl$main$txtObject' => '',
'tmpl$main$btnNew' => 'New Paragraph',
);
$url = 'http://watchout4snakes.com/CreativityTools/RandomParagraph/RandomParagraph.aspx?__VIEWSTATE='.urlencode($viewstate).'&__EVENTVALIDATION='.urlencode($eventvalidation).'&tmpl%24main%24txtSubject='.urlencode($postalues['tmpl$main$txtSubject']).'&tmpl%24main%24txtObject='.urlencode($postalues['tmpl$main$txtObject']).'&tmpl%24main%24btnNew=New%20Paragraph';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)');
$c = curl_exec($ch);
curl_close($ch);
$t = '<span id="tmpl_main_lblPara" class="randomSentence">';
$p = strpos($c, $t);
if ($p !== false) {
$s = substr($c, $p + strlen($t));
$pcs = explode('</span>', $s);
echo $pcs[0];
}
span.randomSentence
콘텐츠를 가져와야합니다. This이 도움이 될 수 있습니다.
편집
코드 내가 테스트 한 :
$url = 'http://watchout4snakes.com/CreativityTools/RandomParagraph/RandomParagraph.aspx?__VIEWSTATE=/wEPDwUINTQyOTcxOTkPZBYCZg9kFgQCAg9kFgICAQ9kFgICAQ9kFgQCBw8PFgIeBFRleHRlZGQCCQ8PFgQfAGUeB1Zpc2libGVoZGQCAw8PFgIfAAU4Q29weXJpZ2h0IDIwMDcgd2F0Y2hvdXQ0c25ha2VzLmNvbS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5kZGTorXr6Gf6R0THMyZRJWZJWtrWHYw==&__EVENTVALIDATION=/wEWBAKs0KOMDAKf643lBALimIbkBQLx2ZbtAfvuWUuGYHixchu/JnnxDjXxcnqg&tmpl%24main%24txtSubject=&tmpl%24main%24txtObject=&tmpl%24main%24btnNew=New%20Paragraph';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)');
$c = curl_exec($ch);
curl_close($ch);
$p = strpos($c, '<span id="tmpl_main_lblPara" class="randomSentence">');
if ($p !== false) {
$s = substr($c, $p);
$pcs = explode('</span>', $s);
echo $pcs[0];
}
무슨 시도를? "시작하다"는 것은 무엇을 의미합니까? 제출 버튼에서 트리거를 의미합니까? –