Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 发布值并获取页面源_Php_Javascript_Html - Fatal编程技术网

Php 发布值并获取页面源

Php 发布值并获取页面源,php,javascript,html,Php,Javascript,Html,我正在尝试使用html表单向页面发布一个值,并获取该页面的源代码 我可以使用$html=file\u get\u html('http://www.exam.com/results/'); 但在获取资源之前,我需要先将值发布到该页面,然后获取源代码 假设我应该发布值的另一页是http://www.exam.com/results/ 我创建了一个提交价值的表单 <form method="post" action="http://www.exam.com/results/"> <

我正在尝试使用html表单向页面发布一个值,并获取该页面的源代码

我可以使用
$html=file\u get\u html('http://www.exam.com/results/');

但在获取资源之前,我需要先将值发布到该页面,然后获取源代码

假设我应该发布值的另一页是
http://www.exam.com/results/

我创建了一个提交价值的表单

<form method="post" action="http://www.exam.com/results/">

<input type="hidden" value="900358967" name="eid">
<input name="confirm" type="submit" value="Enter" >

</form>

因此,它将发布值并在该页面上显示数据,但是如何获取包含数据的页面源呢


这可能吗?我到处搜索并试图抓取它,但我不知道在发布值后如何抓取。

我想你必须用
CURL

//set POST variables
$url = 'http://www.exam.com/results/';
$fields = array(
'eid' => urlencode('900358967')
);
$fields_string = "";

//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

//execute post
$result = curl_exec($ch);

我注意到你用javascript标记了这个问题。因此,这里有一个使用jQuery的解决方案

$.post('http://www.exam.com/results/',$('form').serialize(), function(data) {
    alert(data);
});

如果URL仅返回html,则html将位于函数返回的数据变量中。

对于页面源,您的意思是什么?你能再解释一下吗?我想你需要使用cURL。使用cURL将值发布到表单并返回生成的页面源代码。如果我理解了你想获取发帖来源页面的源代码的问题?@chandresh_cool:就像这样,我会在学校的网站上发布一个考试id,这样它就会在该页面上显示考试结果,如果我能抓到带有结果的页面源代码,我可以过滤结果部分并在我的网站上显示结果。我认为当你谈论PHP(显然,它也有它的源代码,你在发布一些东西后无法获得),而实际上你想要的是结果HTML(源代码),你用“页面的源代码”这个词制造了不必要的混乱。嗨,它给出了一个错误-注意:未定义的变量:C:\wamp\www\results\1\1中的字段\u字符串。php@naveencgr8忘了现在初始化它(检查:)似乎它可以工作,但它不显示结果,它显示输入考试id的正常文本框。。表示该值未按预期发布。@naveencgr8使用
print\r($result)
检查它返回的内容。@naveencgr8学校网站可能会受到“假”发布操作的保护。。。不确定你想做的事是否合法。。。除非学校要求你入侵他们的网站获取考试分数……非常感谢,但这对我来说并不奏效,而且我对java不太熟悉,不知怎的,我用PHP解决了这个问题。感谢您的时间@brainfeeder.:)@没问题。上面是JavaScript。与Java不同;)是的,我知道,对不起,我的坏…:):)