有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?7 K7 H: R( U* ?1 M5 _! C
/ A$ }7 l6 Q* a. x8 I<?php $subid=$_POST["subid"]; ?>$ F( M6 Y, A% P2 \1 i" W' ?
<?php
( f5 e* d2 `6 pfunction send_post($url, $post_data) {
$ e" K6 Q+ w, Q. W/ Z/ n4 z" d
9 A0 w: M- g7 ]! z% a G9 u $postdata = http_build_query($post_data); 2 Q0 \: _; L9 B
$options = array(
% z- L2 t6 P4 L0 _3 ` 'http' => array( ! O" E' }/ _1 M8 {+ a
'method' => 'POST',
0 R* C: f( j( k4 B1 l* A 'header' => 'Content-type:application/x-www-form-urlencoded',
. s# T; t$ ]0 \/ ?% e1 U 'content' => $postdata,
% s# Z" p& y$ D5 Q( c* i( A0 V 'timeout' => 15 * 60 // 超时时间(单位:s)
, J3 \+ ]: q: D! D1 k) l ) 9 b: d# h/ r q
);
+ I( f9 Z' z( J& C8 q $context = stream_context_create($options);
! m" Z9 F% Y3 t $result = file_get_contents($url, false, $context); 9 m' o; T. o, }
; a8 S4 l+ u% M' o8 t
return $result; 8 `5 }8 \! y8 ~" \/ K/ M2 g
} 4 W% S; Q" ], z! y5 O# @0 }
' o9 ~5 U1 e/ i/ X& B: v0 o3 o
//使用方法 " ~$ T* q6 H6 u
$post_data = array( 0 b+ F A6 A, @+ {! N8 v
'subid' => $subid 5 A3 J }: z4 g+ ?8 o- C
);
$ q, G2 k2 {0 e. ksend_post('http://1.com/track.php', $post_data); % g9 M- ~' ] u
send_post('http://2.com/track.php', $post_data);
2 E9 w- Z$ l" ~; x$ L. nsend_post('http://3.com/track.php', $post_data);
8 @" ~" F0 a( ^; m% esend_post('http://4.com/track.php', $post_data); . s2 W! K6 X/ v# F& c3 c3 g
?>- d' k# D6 ]1 Y: E+ G1 _2 G
" V! U% }# _- ?/ I! }8 H# [1 s/ q7 r比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈: K2 T% ? P# _4 P7 L* D
8 n/ }/ Z6 ^/ o5 e. h |