2012-09-01 80 views
0

我是php新手,请耐心等待。从需要发布数据的网站获取数据

我想从一个网站解析一些html数据,我可以用http://simplehtmldom.sourceforge.net/很简单。问题是我需要从网站获取数据,我需要发布一些数据,这意味着我不能只使用图书馆需要的网址。我可以使用该操作并发布我的表单重定向到网站,但我无法获取信息。你能帮我吗?

问候 加斯帕

回答

2

此代码查询的StackOverflow的提问使用CURL

$url = 'https://stackoverflow.com/search'; 

$params = preparePostFields(array(
    'q' => 'Getting data from a website where posted data is required', 
    )); 

$ch = curl_init($url); 

curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $params); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$result = curl_exec($ch); 

curl_close($ch); 

echo $result; 

exit; 

function preparePostFields($array) { 
    $params = array(); 

    foreach ($array as $key => $value) { 
    $params[] = $key . '=' . urlencode($value); 
    } 

    return implode('&', $params); 
} 

关于CURLOPT_POSTFIELDS,请参阅本manual page

+0

我试过了,但是当我回声我的$结果表示“缺少参数”。该网站只使用一种形式,名称= aarskort和我的$ params是: $ params = array('aarskort'=>'20113670'); 你知道为什么吗? – gedemagt

+0

发布表单的定义以提供更多详细信息。 – SteAp

+0

Opslag for mine tilmeldinger - Indtastårskortnr
gedemagt