有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?
- x- C) w4 v+ J0 T! t
2 b0 M. [/ \: S' }4 D! k- ^) ~; C<?php $subid=$_POST["subid"]; ?>
. R8 L9 Z: J$ V4 d. o: ?0 }, u<?php3 _5 r" b& J0 L7 c4 d! f
function send_post($url, $post_data) {
* A( o9 M* L- j. o4 k) c3 ^5 c0 B/ f" Z8 K# A; P; U5 D) g2 p
$postdata = http_build_query($post_data);
8 E3 X: }2 T5 l, F0 ` $options = array( 0 W9 z8 [- o" n( D
'http' => array(
, j% }4 f0 o$ e: {, L8 s! o% Y 'method' => 'POST', - Z' n' X% W3 d1 }: s
'header' => 'Content-type:application/x-www-form-urlencoded',
9 @# ~9 Y4 J6 m 'content' => $postdata, / m, t; O @; `" I; M0 R/ a
'timeout' => 15 * 60 // 超时时间(单位:s) 4 z0 {5 `* J! o6 v4 m% f" [. N% I& D$ W' A
)
; Q+ A j5 _; U. O, h8 H5 O Y9 |& k );
4 F& Q7 Q" Z% n $context = stream_context_create($options); 1 C# @# e, J8 }7 F; |7 z" x# i, \
$result = file_get_contents($url, false, $context);
% }2 u$ w" T* [% P
# j7 V4 k! U. |4 c9 X4 ^/ r return $result;
4 a# X" \, z! K} 7 a2 k/ O% X; `8 k$ u" D
2 { G! L4 b# w% m, M//使用方法 , K. O( z2 K$ Z7 i" n4 Y
$post_data = array( 8 X' R/ z& h4 G
'subid' => $subid
, }0 ]3 `5 v" ?- V7 r. b);
- j/ b, c+ w* o, i% {# }5 O7 Psend_post('http://1.com/track.php', $post_data); , {/ _; l7 F- k/ b
send_post('http://2.com/track.php', $post_data);
, b* D0 r. u) l! W( bsend_post('http://3.com/track.php', $post_data); 5 r! t$ o! e+ i5 [6 J5 N2 B
send_post('http://4.com/track.php', $post_data);
. W2 O, v, a2 ]2 P: L?>
" A1 d+ T0 l; K, j6 u* Y' d/ w. \( r |* t
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈, c/ V. s& w" u( j$ N' b! j! p
8 ~, i* E8 j4 M) `' } g# R2 m% W
|