有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?+ K7 m* n- w, _0 m% g8 B$ S: ~
$ ]' a& { }: l, c' S: A! S# |/ s<?php $subid=$_POST["subid"]; ?>6 B. R" K+ x$ x7 p
<?php
9 m0 p) O; J% q$ i% Kfunction send_post($url, $post_data) { / H6 m. |! V5 \" P
: ]7 }. D r5 x4 u $postdata = http_build_query($post_data);
. A* K' t' n7 E( }1 X1 Z $options = array( 3 d+ }3 G4 Z: ~; n% s& b. E- R! M
'http' => array(
9 ~9 A. ~+ d3 F$ Y# e- } l 'method' => 'POST', " B" _* i. [& p0 ~4 M
'header' => 'Content-type:application/x-www-form-urlencoded', & l- E" Y5 T% y. Y6 s9 x
'content' => $postdata, 8 F% x7 W' [ f) P; L& L( N
'timeout' => 15 * 60 // 超时时间(单位:s)
0 Y# Z1 s* b# f2 r5 b )
! I, t9 y$ v4 K# v8 Y, T ); 0 H9 s7 S! M, }6 I3 m
$context = stream_context_create($options); 7 f6 s0 ~! Z7 D$ Y
$result = file_get_contents($url, false, $context); ! {1 C1 o) v8 r: b) F! c+ b
: v( V( j3 t; u3 u/ G return $result; 2 X" `0 i7 Z6 O1 |) A+ Y
}
4 }7 K" `% y7 q" p4 u. F: L' L0 i* m: X! [ l# ]0 f o1 b
//使用方法
: h* D* Q5 c7 s, Z; F$post_data = array( : I* z! U7 J& j9 [
'subid' => $subid - `2 g3 l, i' X( L) _
); 1 p. i3 @$ E1 a2 l G3 Z" }
send_post('http://1.com/track.php', $post_data); : _1 ] ?( E; ^+ s d1 @% u+ o
send_post('http://2.com/track.php', $post_data);
' h8 k m* R9 v' usend_post('http://3.com/track.php', $post_data); 5 T0 y7 Y* w/ Z1 K! _8 g
send_post('http://4.com/track.php', $post_data);
) v) R) G! @4 L3 b?>) N& E5 l; D1 X# c
# Y* W7 n4 [7 _比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈' w# u( ~( O! k$ X/ B" M0 q o
# j1 A; g- ^8 ]4 K
|