有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?0 j; O2 x# a' p7 u
1 E8 k3 z$ B. b; ^5 k( ~/ h+ c5 F
<?php $subid=$_POST["subid"]; ?>; [- {* C+ x& @3 i; ?1 J4 d2 F2 O$ G2 h
<?php9 M/ d9 ]8 L( r8 f0 P4 G
function send_post($url, $post_data) {
7 u$ O$ v0 a5 z0 Y, P6 G" _) ~3 y) G- \ \/ H+ v6 N) b
$postdata = http_build_query($post_data); - C( }* s& ]7 C; q
$options = array( 3 u, Y4 O/ A0 P3 Y% I' j$ f1 T
'http' => array(
* ~1 s/ f+ R7 K0 Q* J% Q 'method' => 'POST',
b9 @( `1 h! H4 d7 J( v 'header' => 'Content-type:application/x-www-form-urlencoded', * L% o, i; d' y8 _) J# Z5 m2 s
'content' => $postdata,
G6 Q0 z0 {% @4 Y( J 'timeout' => 15 * 60 // 超时时间(单位:s) & P; w" [( r" M, X& Q6 m
) 6 o+ C$ p0 O; B/ R
);
: E: h. Y. C" } $context = stream_context_create($options);
$ h, x) m6 x7 g7 h $result = file_get_contents($url, false, $context);
" p6 N; t7 `0 ~, Q% O% N3 c
% K3 Z7 b- N6 \3 k a a5 s7 n- s return $result;
/ U$ N- X3 R; E2 I. P, c5 ?6 x Q}
4 N4 Z& |$ {% K' e4 f. T
# Y( b% G$ j8 C//使用方法 2 z/ u/ b$ u8 `! a O: m7 s( D6 y
$post_data = array( / r9 I/ c! M( ]3 P3 q I
'subid' => $subid
: D& v8 |4 v: T); 3 z" j9 ~+ L2 M0 O
send_post('http://1.com/track.php', $post_data);
' V- R9 Y/ x d- `send_post('http://2.com/track.php', $post_data); . \. ?" [" E+ y% e4 n. B9 j! u; ]
send_post('http://3.com/track.php', $post_data); 1 Y0 H z5 a& L) A8 O# j- V" ]' p
send_post('http://4.com/track.php', $post_data); 6 O7 f9 [8 }3 m4 G/ {3 y
?>
' M3 ^" B' h! _( f4 `3 b4 h! z
: H6 I8 G2 @/ L2 Q, F: u, e比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈
+ k. k2 [; S. y7 W! Z: _& U7 `. c; n0 U$ m, O( S6 s7 \, R6 h9 j6 U5 z; h
|