有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?; _( g# ~8 k# w! P
3 {8 Z! ~$ s5 j6 u& L
<?php $subid=$_POST["subid"]; ?>
& z* A; R, a. }<?php: I# T U/ [' Z5 h9 [% h1 c( b5 W
function send_post($url, $post_data) {
7 J$ h: I! N/ I
! Z1 Q1 \" K& }) Q2 y& P& y+ X3 T $postdata = http_build_query($post_data);
2 D& J( s& ]* v- H6 q $options = array( * A4 e7 x& N0 Q5 w: }
'http' => array( 1 U: t0 C& p6 c" C% ?( j3 r; j2 l
'method' => 'POST', ( ^- H0 q7 s0 @1 {) k
'header' => 'Content-type:application/x-www-form-urlencoded', ( `$ u5 Q5 E2 K4 r0 t8 b ?0 V
'content' => $postdata,
* r+ [. ^7 l- C0 ~. | 'timeout' => 15 * 60 // 超时时间(单位:s)
) ] K2 y# _! ]! {/ A5 ~- H )
/ A# Z* C8 Y& _& T8 S; V) x );
" o, H$ _# j6 @+ H+ k) h $context = stream_context_create($options);
2 C& N; s1 ~4 r5 } $result = file_get_contents($url, false, $context); ) e2 K! B" u- T6 `# `, y& A
4 q7 s* K+ w) v* [ return $result;
' U& b+ N" d) T4 ~7 a/ A! ^}
0 r# z* _9 q, K+ R- W$ Z- B! }# g8 B( H: e2 h* w/ \/ k: [" H
//使用方法 0 b, Q* z D; f: c8 |. t' }% z% {
$post_data = array(
, N, |" a# ] i 'subid' => $subid
; ]9 K& y7 p6 n" H# V2 c* U$ ^);
0 n3 Q( J* k4 h5 Ksend_post('http://1.com/track.php', $post_data); & ~5 D- A0 U5 \8 W- m* ]
send_post('http://2.com/track.php', $post_data);
2 Q3 [- A* U0 i) J0 usend_post('http://3.com/track.php', $post_data); * P3 N3 M- ~5 b W; v8 C- g$ r
send_post('http://4.com/track.php', $post_data);
) `# Q9 j1 @* z& d! A* V?>
, |4 f- M; C( L3 R
7 a% s0 e; [3 F6 m1 L比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈
o% X/ {) v) [1 `7 L; D
' G# z' I: l, c; O) g% |- m N& V |