有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?9 j0 j& E' [ @! t' P, j: o: [4 }
- R' p2 J* V6 H8 Z2 W' R- R
<?php $subid=$_POST["subid"]; ?>
/ h5 u4 R: b o9 ]7 w4 p<?php
, F6 P$ \& y; f( m) P( lfunction send_post($url, $post_data) {
) B& E+ @7 Q3 Z, ]; d3 w1 P
6 D" I3 C b" ~, G% u+ z* X" C! | $postdata = http_build_query($post_data);
9 [$ D2 y6 H$ b+ Q $options = array(
$ E8 Q8 S) J0 L% T2 Z 'http' => array(
9 N% \) S) {; W; b; Z 'method' => 'POST',
2 A9 J0 H9 P# g4 } B6 i6 [ p) S Q 'header' => 'Content-type:application/x-www-form-urlencoded', * Z6 g# _( N: l! K
'content' => $postdata,
; F% ?9 I3 X ~ 'timeout' => 15 * 60 // 超时时间(单位:s) 5 @7 L0 J4 c+ W4 T- Q
) : K; N9 S' V, k' `) m. Y
);
% O% D `9 l3 m. ~ $context = stream_context_create($options);
) l# {0 E7 {2 w) s* @/ [ $result = file_get_contents($url, false, $context);
" [6 o5 N$ a0 h% X B4 N+ w0 b8 H
return $result; ; @; Y o3 B# ^8 v' r0 m
} * G3 d( q6 f- \; U
" ^' R, ?7 q% `5 ^0 \$ O//使用方法
5 D0 s1 s$ n7 Y" k. H2 W4 m1 u0 a- F$post_data = array(
* X1 B+ G! X: j4 \! P; [5 ~ 'subid' => $subid
$ }! r) }5 x1 d1 u2 G+ A);
$ [) u1 W7 m( B8 Tsend_post('http://1.com/track.php', $post_data); : ~. w9 J. N0 ^+ Q4 E: K) c
send_post('http://2.com/track.php', $post_data); 3 S0 y/ ~2 q' I
send_post('http://3.com/track.php', $post_data); & K) G5 h5 p! M
send_post('http://4.com/track.php', $post_data);
- L U/ Z+ b3 K# W1 B8 L?>& m: @0 L6 ^4 a0 k4 O/ R/ ]# O6 A
/ n) p/ o( M; }; Z
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈$ C& |7 e( ]5 F- z; }+ [6 r. R: e
* |& t9 G. s- G0 H2 O- X
|