有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?& ?0 c. [! D$ h7 J
# ^# @, j% _% l9 a' \
<?php $subid=$_POST["subid"]; ?>
! I, J1 _9 D: G4 _. f<?php' Z1 Y5 ]# M. L5 b$ M
function send_post($url, $post_data) { * t9 B% l" U6 ]
- O7 x2 c/ X( ?4 G
$postdata = http_build_query($post_data);
/ V+ {- \+ n2 z& a6 o4 t1 h0 { $options = array(
& m2 }, p# v7 k1 i 'http' => array(
$ u5 D) ^4 S: K. K 'method' => 'POST', ) M; v! |9 B+ R: b$ u! t$ k" m, \
'header' => 'Content-type:application/x-www-form-urlencoded',
3 @1 i8 s$ g. G t6 j: {3 a 'content' => $postdata, , q" T: @$ ]: I x# u4 Q9 V8 R
'timeout' => 15 * 60 // 超时时间(单位:s) $ I5 Z3 o# u# c) {" {+ k
) / A1 T$ p1 b4 H6 p+ `' u: i
);
; Z1 p( K d9 f $context = stream_context_create($options);
$ L0 z0 y F s* s! j0 o; t* @ $result = file_get_contents($url, false, $context);
: w. @3 ]* Y: T& b& ?
; B4 T! K6 U2 i return $result; 9 I$ {$ z3 s+ H, K1 z; |- }& D. S
}
5 P% t1 Y2 C6 W' R9 {8 {% Q; i; v5 m. c6 Y& P. W
//使用方法 4 d, i3 w5 |5 k% M
$post_data = array(
' d- p0 ^& i1 S 'subid' => $subid
7 B6 _$ r9 v0 I3 [' @);
) `' ?+ C$ G# r Q5 rsend_post('http://1.com/track.php', $post_data); # X$ V" d- W& d! D; C4 Q7 G
send_post('http://2.com/track.php', $post_data);
+ x' x" [7 d3 K t& Q, d0 j$ a. esend_post('http://3.com/track.php', $post_data);
t3 L( o9 H o2 S8 j; Z5 _7 vsend_post('http://4.com/track.php', $post_data);
& d: {& j+ m& G8 ^) L?>
) S; o, J) w) s5 P2 Z& ?& G
. G) o( }9 `9 J. c$ z: i比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈7 D n3 D3 K x; F+ @ X
6 D# ]7 ~( \" O+ E' j& V |