有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?4 Y* }- i; \/ r8 K. J2 {
$ K4 {- _6 I2 a) E$ L5 G<?php $subid=$_POST["subid"]; ?>2 A5 s C! c |; L* s
<?php+ X9 q( S1 l& ^, d3 s- Q0 ~, N
function send_post($url, $post_data) {
. C$ R: K% p% ~9 w& {% ~' i
! X% R7 ]9 Z/ c+ n1 C# H+ D6 S $postdata = http_build_query($post_data); " z9 G! w* B6 ~1 D" s: W$ g
$options = array(
5 c5 D! I6 t4 [% k. g. y# } 'http' => array( ) P w$ [! p, ~- X
'method' => 'POST',
7 r' e% V, {4 V2 c7 M. x 'header' => 'Content-type:application/x-www-form-urlencoded', 6 ^. h6 l) e4 ~/ V+ q
'content' => $postdata,
% v1 L1 y! u+ q, I 'timeout' => 15 * 60 // 超时时间(单位:s)
* |7 E$ ]* A1 ?& O' J )
6 B C& S" ?4 Z' R7 ^' g; T ); 1 W* y7 m8 t# t! v* a
$context = stream_context_create($options);
, E K' {/ N: X- Z $result = file_get_contents($url, false, $context); " A( E# m+ w( C8 k
. h8 F) t) n$ c6 A' p return $result; ( y0 g- R- h. t' q* q
}
E. p; q: j! _ Z& D5 n% e$ r+ o! c# J
//使用方法 9 ~( w& j% z. _' `, X$ @
$post_data = array( 8 l0 t5 n2 }8 V7 ~7 V, r8 n4 `
'subid' => $subid * C: G& y: w) u% a
); 6 B% G7 N) x5 M
send_post('http://1.com/track.php', $post_data);
6 e3 k! C# F& x8 N% p! }5 ]send_post('http://2.com/track.php', $post_data); * w6 O/ k; L7 |- @
send_post('http://3.com/track.php', $post_data);
2 p1 v: V7 d4 P( A+ F# y3 h; M' ^send_post('http://4.com/track.php', $post_data);
" L }. l( r4 F# p b8 {?>3 G- W/ ~" n& p G
; ~" [( r- @1 P( ^$ `. H' w: ?
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈
: i0 ^, ]% O' ?) F9 _( O' R0 X o1 e% p4 Z
|