有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?8 C# y% d- f8 W2 \1 {. g: @
9 {6 u: M9 K4 ]. C* C
<?php $subid=$_POST["subid"]; ?>
' w5 F4 q. w/ |( l; _0 i) T<?php% U5 i1 W: Y, F
function send_post($url, $post_data) { d+ _ i h8 ~# V4 w8 W
3 Q T' Z+ m% x- z( a4 _
$postdata = http_build_query($post_data);
! t9 z0 r* I+ V( F, {3 L0 Y $options = array(
& o7 V/ n, z7 G( _4 M 'http' => array(
2 ]* C- p5 n# c. }0 t2 Z6 G 'method' => 'POST',
! ~# \5 o! i# ]" b+ s, D* c+ W 'header' => 'Content-type:application/x-www-form-urlencoded', ) Q5 E$ u. E; p# t
'content' => $postdata, # b6 T% A& }1 e, t6 q0 g
'timeout' => 15 * 60 // 超时时间(单位:s) * d4 }5 N" @; @; C3 z: T7 w% W! F
) ; F* a# o; P' M( V; C9 C
); / j/ W9 x3 I/ p+ J) y. Z/ u4 D0 Y
$context = stream_context_create($options); % H2 E/ P& F+ s% V6 A
$result = file_get_contents($url, false, $context);
0 n( Y, G& @, `& E3 `& k6 C' {6 t% N/ ^; R7 u
return $result;
1 \/ b2 C- L6 C I. t9 F} 3 X3 e/ f3 a& n ^
1 q& l8 }$ `5 I/ U' c6 v
//使用方法 8 j6 ~! Z: O4 }2 ~
$post_data = array( ) S7 }. Q! P/ `0 G$ d
'subid' => $subid
' ~- o# | o. n4 r4 ^+ ~0 r); 1 ~7 b% q0 L0 v9 s" d1 o) D9 I/ m
send_post('http://1.com/track.php', $post_data);
4 ^ [; @# _4 v. w9 ]; K* \send_post('http://2.com/track.php', $post_data); + L1 u' A9 z3 C5 b
send_post('http://3.com/track.php', $post_data); % W! V+ v3 b+ e
send_post('http://4.com/track.php', $post_data); 5 J1 M' [* t0 ~9 e$ V+ t+ \( E9 R
?>8 S/ u5 {. \) Z1 k
9 d/ ~: W j) |比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈
& A G" t$ `, N" {' Q
4 j, h4 i/ K) l2 Y9 l$ h' @5 y |