有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?5 b# }" _& I1 D+ ^ C& c
+ V! N) I+ ^/ r
<?php $subid=$_POST["subid"]; ?>
1 c+ n9 V. N2 f" w) x<?php
, V7 y0 Y" ~- d$ ~; w* _. f3 ~; B- Efunction send_post($url, $post_data) {
3 J; g. X" @# d* T/ G! V7 K$ r' {9 V4 W
$postdata = http_build_query($post_data); 1 V" y4 {# q: o! j4 I( Z
$options = array(
$ e7 H% r$ ~% ^, x, v5 q 'http' => array( ) H" t; c* l+ L$ D' x9 K2 e$ M
'method' => 'POST',
7 u t% m6 H, a2 R 'header' => 'Content-type:application/x-www-form-urlencoded', ! C1 c! `, A" j
'content' => $postdata,
$ X8 D' S& i7 @7 ?$ }- q 'timeout' => 15 * 60 // 超时时间(单位:s)
# K8 D$ u3 `6 S, r) p" `; b3 Q7 r% E ) - y h! a. p) Q \0 E! R
);
8 w0 D4 }5 Y: S $context = stream_context_create($options);
1 P- z2 `4 }+ x# O$ F $result = file_get_contents($url, false, $context); * O7 B' p% ^% `* ]! w2 v
$ x7 z" I9 c6 d return $result; . Z0 i% T; a9 P l' W0 [+ H
}
+ Z% e t5 y. s% Z; M6 `9 D2 h( g0 Y1 v8 l- [
//使用方法 ' J5 y5 ~$ ~! T, `# G; ~
$post_data = array( 1 T0 i4 c- ?; ~8 S
'subid' => $subid ; M K8 {1 d0 v. s4 x4 O, Q; |) {( B
); ( G3 |+ [9 K: z2 d: |
send_post('http://1.com/track.php', $post_data);
1 M9 f, }7 G% ksend_post('http://2.com/track.php', $post_data);
! ^" _1 F8 h' |* S$ D g" q& fsend_post('http://3.com/track.php', $post_data); 6 E5 k! K8 O: m: V& |8 u
send_post('http://4.com/track.php', $post_data); & l$ ~: `2 b$ }$ m O- M/ n
?>" L, U. d" {/ `, e, ~6 ^
. C$ j. T u# r! o
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈; [0 V" X5 t: F# |, s: W! p
3 v4 f G3 p' k" D% k# m |