有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?- [4 U2 N& t: G" X, u! u7 ?, m
" D. |( _( E( h* S! M<?php $subid=$_POST["subid"]; ?>
- Y8 y+ G8 I. U" h. o) @<?php& T7 f) N& `0 A3 J1 C
function send_post($url, $post_data) {
: e; N7 O0 @# O. ?' V0 n4 E6 G! a
( g5 Z# w# a1 ` $postdata = http_build_query($post_data);
+ {; X7 y' F& Z $options = array( # N# _9 ?6 r( x. U8 ^
'http' => array( + S. c9 S( H! U7 @. J
'method' => 'POST',
7 O8 r1 V- b& Q* O- X 'header' => 'Content-type:application/x-www-form-urlencoded', $ ]) p, x) y' i) D& Y. S: |
'content' => $postdata,
" u0 \. i1 o$ @: N* Y# h9 h/ m 'timeout' => 15 * 60 // 超时时间(单位:s)
5 G+ }5 y& `, V5 T3 W0 B# I. \ ) 4 B( w/ k" O7 X8 Q
);
k( V# W C8 D: L: g4 ?* N $context = stream_context_create($options);
@8 O* k& O5 B- h6 C $result = file_get_contents($url, false, $context); + \: K }1 o9 O$ G8 j# K1 x
. N, q9 I# Q. y, y& F
return $result; 2 P! C0 p0 u$ a4 U& ^2 e
}
* f$ J. M! \1 e) X0 |
& A$ a) S& K) {6 Y7 N; h//使用方法
9 T/ }8 R7 `3 i$post_data = array(
) r- g+ [' `0 B/ c& j) D 'subid' => $subid
! ^2 s. V- n/ A" m1 g); 9 m5 G2 M" n8 c+ V
send_post('http://1.com/track.php', $post_data);
, n# \8 [+ U6 ?5 ?$ T2 b( m, p) Vsend_post('http://2.com/track.php', $post_data); * ~" o; [. r1 p4 d; ]* o- h& m0 k" T1 J
send_post('http://3.com/track.php', $post_data);
0 ^% b4 N% t# h1 d6 ^; h7 A$ J% u4 nsend_post('http://4.com/track.php', $post_data);
4 F7 O/ p$ E0 C' e/ s$ m4 M?>
8 M; i8 ~1 S% u: u& y/ D( F) c; z
! F4 O2 s' W) M+ P比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈2 Z7 {- x" A6 X" _
N9 ^, f5 Y' o' g8 t
|