wjcj 发表于 2017-12-3 16:16:15

求php高手帮忙看看tracking代码怎么改,头疼

有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?

<?php $subid=$_POST["subid"]; ?>
<?php
function send_post($url, $post_data) {

$postdata = http_build_query($post_data);
$options = array(
    'http' => array(
      'method' => 'POST',
      'header' => 'Content-type:application/x-www-form-urlencoded',
      'content' => $postdata,
      'timeout' => 15 * 60 // 超时时间(单位:s)
    )
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);

return $result;
}

//使用方法
$post_data = array(
'subid' => $subid
);
send_post('http://1.com/track.php', $post_data);
send_post('http://2.com/track.php', $post_data);
send_post('http://3.com/track.php', $post_data);
send_post('http://4.com/track.php', $post_data);
?>

比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈

z070477 发表于 2017-12-3 16:28:24

既然数据在url里,那么subid获取方式应该是$_GET,其它没细看。

wjcj 发表于 2017-12-3 16:36:17

z070477 发表于 2017-12-3 16:28
既然数据在url里,那么subid获取方式应该是$_GET,其它没细看。

是的,解决!,估计有的联盟是post back ,有的联盟是get 方式call back, 设置一个条件语句 _post 为空的话就用 _get,完美解决

allenma 发表于 2017-12-14 09:33:37


320982144 脸书付费推广交流群,请理解一个煞费苦心的群主。

醉眼看花 发表于 2017-12-14 10:00:29

1.大部分POST BACK 接口都是以GET方式提交的,不需要POST
2.你这个代码没考虑HTTPS
页: [1]
查看完整版本: 求php高手帮忙看看tracking代码怎么改,头疼