有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?' z7 m8 w" V4 c5 @
2 A% }5 F+ E5 X<?php $subid=$_POST["subid"]; ?>
5 G, ^. h! f% R; O<?php
0 X5 J2 I4 I2 \0 E' ^) ~function send_post($url, $post_data) {
7 z' Z+ p' x& s5 f# X; R" l% z4 O y; P+ P7 B3 K
$postdata = http_build_query($post_data);
% }( n9 T* i; Q1 d% [& r $options = array( ( m7 m. [; O4 r* x
'http' => array( # t1 n/ K H1 v3 M
'method' => 'POST', 7 u6 c& C; q2 @( E+ O
'header' => 'Content-type:application/x-www-form-urlencoded',
( ~# N j$ e$ k7 R 'content' => $postdata,
0 z7 c' U, @: m! ]" c. X% `+ @: W 'timeout' => 15 * 60 // 超时时间(单位:s) 0 s) N# `% _( m8 A; A1 @+ P- u
)
) n5 E( d' I$ ^" Q8 _5 n );
* B7 Y+ ^0 |& U `# t- o8 f+ \ $context = stream_context_create($options);
# o( m- k! ^/ [1 ^2 \8 H/ o |+ J" r8 } $result = file_get_contents($url, false, $context);
! `7 I' L8 u. t( i, d6 C3 E' m# W( v* d4 @
return $result;
, d2 D3 ?- C( u& o: |3 q}
( V1 q" @9 j( R. B+ h$ O% g) v" S
//使用方法
9 s& w" X0 x) ~4 X- `$post_data = array(
( l: A; G. } W" V2 I, p; F 'subid' => $subid & g" L2 `7 z; c# e
); ( a. R' }; b. K# a, o6 r4 G, q
send_post('http://1.com/track.php', $post_data); 9 k. A1 ~+ w" r
send_post('http://2.com/track.php', $post_data); 0 S2 ]' O2 U& g7 O. j3 b+ ?
send_post('http://3.com/track.php', $post_data);
9 L2 o: w" g0 D( `. Y0 L1 ssend_post('http://4.com/track.php', $post_data);
- T4 `/ t# ~4 r, x) ^! l?>7 O; {7 e# S9 B* [/ | E6 i
# |. Z2 N/ U( L) J
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈 k- ?8 P" L! W
+ `% \. Y+ Q1 f7 r8 E |