屬於 public.php
get_remote_data
function get_remote_data($url, $post_paramtrs = false) {
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
if ($post_paramtrs) {
curl_setopt($c, CURLOPT_POST, TRUE);
curl_setopt($c, CURLOPT_POSTFIELDS, "var1=bla&" . $post_paramtrs);
} curl_setopt($c, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0");
curl_setopt($c, CURLOPT_COOKIE, 'CookieName1=Value;');
curl_setopt($c, CURLOPT_MAXREDIRS, 10);
$follow_allowed = ( ini_get('open_basedir') || ini_get('safe_mode')) ? false : true;
if ($follow_allowed) {
curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
}curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 9);
curl_setopt($c, CURLOPT_REFERER, $url);
curl_setopt($c, CURLOPT_TIMEOUT, 60);
curl_setopt($c, CURLOPT_AUTOREFERER, true);
curl_setopt($c, CURLOPT_ENCODING, 'gzip,deflate');
$data = curl_exec($c);
$status = curl_getinfo($c);
curl_close($c);
preg_match('/(http(|s)):\/\/(.*?)\/(.*\/|)/si', $status['url'], $link);
$data = preg_replace('/(src|href|action)=(\'|\")((?!(http|https|javascript:|\/\/|\/)).*?)(\'|\")/si', '$1=$2' . $link[0] . '$3$4$5', $data);
$data = preg_replace('/(src|href|action)=(\'|\")((?!(http|https|javascript:|\/\/)).*?)(\'|\")/si', '$1=$2' . $link[1] . '://' . $link[3] . '$3$4$5', $data);
if ($status['http_code'] == 200) {
return $data;
} elseif ($status['http_code'] == 301 || $status['http_code'] == 302) {
if (!$follow_allowed) {
if (empty($redirURL)) {
if (!empty($status['redirect_url'])) {
$redirURL = $status['redirect_url'];
}
} if (empty($redirURL)) {
preg_match('/(Location:|URI:)(.*?)(\r|\n)/si', $data, $m);
if (!empty($m[2])) {
$redirURL = $m[2];
}
} if (empty($redirURL)) {
preg_match('/href\=\"(.*?)\"(.*?)here\<\/a\>/si', $data, $m);
if (!empty($m[1])) {
$redirURL = $m[1];
}
} if (!empty($redirURL)) {
$t = debug_backtrace();
return call_user_func($t[0]["function"], trim($redirURL), $post_paramtrs);
}
}
} return "ERRORCODE22 with $url!!
Last status codes:" . json_encode($status) . "
Last data got
:$data";
}
?>
$PN=$_GET['PN'];
$BODY=$_GET['BODY'];
$URL = genurl($PN,$BODY);
if (PHP_SAPI == "cli") {
echo "$URL \n";
echo get_remote_data($URL);
}
else
{
echo "$URL
";
echo "
".get_remote_data($URL)."
";}
function genurl( $PN , $BODY )
{
$R = 'http://localhost:18994/a.php?GID='. $GID .'&smbody='. $BODY ;
return $R ;
}
沒有留言:
張貼留言