有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?5 E8 @- I# g5 ?2 ^# G; V' ^
, W2 Q( ^2 X+ X. o! |- Z
<?php $subid=$_POST["subid"]; ?>
2 X" _( I% T- D/ U; P4 G3 V<?php
5 Z- D; r6 @/ G' B2 Q3 K& ~1 Ofunction send_post($url, $post_data) { " W8 v) @5 Z/ s+ D" f2 D
+ m7 n9 E# p0 h5 F+ I1 U, s9 S; k
$postdata = http_build_query($post_data);
& b; G$ R+ J* K3 B6 _' x $options = array( ) K" Y4 v/ W2 w
'http' => array( . N: F5 E% Z/ z, u/ c1 t
'method' => 'POST',
1 G) G5 k, r" r% o8 K; d 'header' => 'Content-type:application/x-www-form-urlencoded', 4 }& }" u/ U K; I* T
'content' => $postdata, , v+ ?* ]. [7 O2 O
'timeout' => 15 * 60 // 超时时间(单位:s) 9 c0 `7 T* ]2 j
) . g! w4 O* X; `$ _( i. R: {3 M
);
1 _! ~( ~& E$ L; U $context = stream_context_create($options);
" t0 o4 x' Q0 } $result = file_get_contents($url, false, $context);
0 ]+ Y8 I" d/ w# J; d" {- B5 s0 G& }+ ?3 d' {
return $result;
6 H& J8 Q! [1 y7 E" A} % _1 b- ?3 Z3 G- Y- v
4 M; U2 H) ?3 e( {; b; ]2 _
//使用方法
" z" O. O9 ~6 Y+ |$post_data = array( ( k2 A x7 Z! ^9 T* i
'subid' => $subid 6 Y. j1 x: N M9 E7 o
); 4 t9 u) g2 w6 K$ I3 S. B! x
send_post('http://1.com/track.php', $post_data);
4 u) W( J) Q& [7 hsend_post('http://2.com/track.php', $post_data); - Q' o/ T& M. `8 B/ Y7 O, N
send_post('http://3.com/track.php', $post_data); / _$ b3 g- o) a
send_post('http://4.com/track.php', $post_data); " ?9 I5 W( F* v( M& \- u& o0 k
?>4 g& B" L; L4 L7 W
& D+ G( \; Q/ h& u2 S* z V4 a
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈: H+ ~* R1 d! ~* j2 ]4 q
, Q6 |; j# Y% o! h |