如果想要做一个采集其他网站表单POST/GET后的数据,可以采用CURL的方法进行采集,即可得到想要的数据。
// 模拟提交数据函数 function get_maxim_result_by_curl($key){ $url="http://shop.maxim-ic.com/storefront/viewpriceavailable.do?event=PartSearch&Partnumber=$key"; $cookie_file = dirname(__FILE__).'/cookie.txt'; $ch = curl_init();// 启动一个CURL会话 curl_setopt($ch, CURLOPT_URL,$url); // 要访问的地址 curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)'); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); //伪COOKIE curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );// 使用自动跳转 如果关闭自动跳转则不报错。0关闭 1 开启 curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);// 对认证证书来源的检查 curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);// 从证书中检查SSL加密算法是否存在 //curl_setopt ( $ch, CURLOPT_POST, 1 ); // 发送一个常规的Post请求 //curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data ); // Post提交的数据包 curl_setopt ( $curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环 //curl_setopt ( $curl, CURLOPT_HEADER, 0 ); // 显示返回的Header区域内容 curl_setopt($ch, CURLOPT_SSLVERSION, 3); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);// 设为TRUE把curl_exec()结果转化为字符串,而不是直接输出 $result = curl_exec($ch);// 执行操作 if ( $result ) { echo 'Errno' . curl_error ( $ch); //捕抓异常 } curl_close($ch); // 关闭CURL会话 return $result; // 返回数据 } //test print_r(get_maxim_result_by_curl('1111'));