从没有api的url验证数据

时间:2014-10-28 15:45:54

标签: php html parsing

Hello StackOverlow研究员,

我正在尝试为CA建立一个基于PHP的论坛。我希望论坛仅适用于CA.现在,在注册页面上会询问他们的会员编号。此成员资格号码需要从其他URL进行验证。现在,问题是其他网站没有为此提供任何API,并且必须手动输入会员编号并提交以获取会员资格。

可以检查状态的网站的网址是: http://220.225.242.179/locm.asp

会员编号样本:406691

该网站使用帖子数据,因此不能通过URL传递任何参数。

无论如何,这可以自动化吗?或者我需要手动批准所有注册?

1 个答案:

答案 0 :(得分:1)

您可以创建一个用于抓取该链接内容的脚本。问题是每次网站更新时都必须维护该脚本。

由于表单没有任何验证码或机制来阻止自动查询,您可以轻松设置。

您可以使用CURL发布帖子请求:

//set POST variables
$url = 'http://220.225.242.179/locm.asp';
$fields = array(
    'mrn' => "406691",
);

//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);

//close connection
curl_close($ch);

请查看以下链接:

https://github.com/fabpot/goutte

http://www.jacobward.co.uk/web-scraping-with-php-curl-part-1/

http://www.amazon.com/dp/1593271204/?tag=stackoverfl08-20