您好,欢迎访问一九零五行业门户网

想获取一个网站的网站内容,但总是获取不到该怎么办

是这个网站:http://www.reg007.com/search。
比如说,我在输入框里面输入了981267080qq.com
他就会跳转到http://www.reg007.com/search?q=981267080-at-qq.com。
我想用php的file_get_contents获取http://www.reg007.com/search?q=981267080-at-qq.com的网页内容,但是总获取不到。
我应该怎么去做?
不明白他是怎么做的。是判断我的ip还是怎么弄的。
回复内容: 是这个网站:http://www.reg007.com/search。
比如说,我在输入框里面输入了981267080qq.com
他就会跳转到http://www.reg007.com/search?q=981267080-at-qq.com。
我想用php的file_get_contents获取http://www.reg007.com/search?q=981267080-at-qq.com的网页内容,但是总获取不到。
我应该怎么去做?
不明白他是怎么做的。是判断我的ip还是怎么弄的。
应该是请求的时候, 没带cookie, 没带 referer.
其次真正的搜索是通过 ajax 进行的, 即你请求的url地址还少一部分内容.
运行结果:
代码:
0){ $method = 'post'; $headers[] = 'x-requested-with: xmlhttprequest'; $headers[] = 'content-type: application/x-www-form-urlencoded; charset=utf-8'; } //如果有传递 cookie if($ck != ''){ $headers[] = 'cookie: ' . $ck; } //如果有传递 referer if($referer != ''){ $headers[] = 'referer: ' . $referer; } $opts = array( 'http' => array( 'method'=> $method, 'header'=> implode(\r\n, $headers) ) ); if(count($data) > 0){ $opts['http']['content'] = http_build_query ($data); } $context = stream_context_create($opts); $html = file_get_contents($url, false, $context); return array( $html,//本次请求得到的html $http_response_header//本次请求服务器返回的响应头 );}//先请求一次, 从响应头中获取 cookie$data = request('http://www.reg007.com/');$headers = implode(, $data[1]);preg_match_all('/set-cookie: (.+?;)/', $headers, $session);if(count($session) !== 2){ die('获取cookie失败!');}$ck = implode(' ', $session[1]);//得到cookie$data = request('http://www.reg007.com/search?q=981267080-at-qq.com', $ck, 'http://www.reg007.com/');$html = $data[0];//取出来 htmlpreg_match('/var h=(.+?)/', $html, $h);if(count($h) !== 2){ die('获取ajax请求token失败!');}$h = $h[1];$ck .= ' q=' . urlencode('981267080@qq.com');//这个查询比较耗时, 会有点慢$data = request( 'http://www.reg007.com/search/ajax', $ck, 'http://www.reg007.com/', array( 'q'=>'981267080@qq.com', 'h'=>$h, 'i'=>0, 't'=>0 ));$result = json_decode($data[0]);var_dump($result);
那个网站显示的结果, 会发多个 ajax 去查, 上面的代码中只发一个, 其他的请楼主自己完成.
其它类似信息

推荐信息