有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?
% w! v% @2 E; W& X! U0 d2 x$ N
6 S5 {* Z# T! k0 E' r<?php $subid=$_POST["subid"]; ?>
5 w! I: z0 P h- k; G<?php
- |: w. O6 B. m* h8 O; xfunction send_post($url, $post_data) {
# @$ O! K9 q! S) O- _
/ B! O8 I" Y$ R5 ~/ s $postdata = http_build_query($post_data);
! d( y% y% N' Q $options = array( ) Z% F- i: V4 C6 d- r7 P0 I
'http' => array(
" ~5 G8 d( m- G, ^5 u u- u 'method' => 'POST',
( H) h; @* Q* F' r8 F+ R 'header' => 'Content-type:application/x-www-form-urlencoded',
4 ]+ ~" r% n+ a1 I! g' p; W 'content' => $postdata, 5 O3 M: V; V" z& }/ J% t9 r( {
'timeout' => 15 * 60 // 超时时间(单位:s) 0 v5 `9 r: f C b
)
) C* I" B r! u ); 0 o( q0 C0 q+ t1 Q9 v
$context = stream_context_create($options); # F0 g5 B. Z. a
$result = file_get_contents($url, false, $context);
" p0 X; k H' L
3 A! @' {; l" V: I3 z- s+ H' S return $result;
% n' V+ b+ ~& M* [* ~5 @}
) v8 C& v. Z O; ^9 v' j4 s4 u, D+ g5 W% K
//使用方法 o% U0 z/ e* j* `+ ^
$post_data = array(
1 p) r; G! w1 g* w 'subid' => $subid
# w. ^3 a- w7 e" ^, M);
" A/ t7 P- y9 X D3 e+ Psend_post('http://1.com/track.php', $post_data);
; C% |( X' I' L: vsend_post('http://2.com/track.php', $post_data);
, S! c' H5 }$ ]1 L( hsend_post('http://3.com/track.php', $post_data);
/ N- ^3 B- L" Dsend_post('http://4.com/track.php', $post_data); " B' _. Z+ I3 b3 |
?>
7 d" ^. N) z J/ V) b; u8 U" R2 T/ y! L$ k, c
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈
7 B0 K2 T3 D0 o, b; s, g
, v% c Z5 z; V |