有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?
- D; }+ j+ B: G+ A* N
" ^+ d( j; k( w3 }" f& Z! P, P/ s<?php $subid=$_POST["subid"]; ?>) L* L: ~7 r/ T( P' P0 M
<?php
$ }0 P3 x0 g8 @1 v! S9 @9 vfunction send_post($url, $post_data) { ! n# z! R/ f5 Z2 m+ T4 \/ X: |
, ]: Y3 T# _' t: n8 H8 F7 R $postdata = http_build_query($post_data);
" t/ o! o+ R9 Q; y% v $options = array( / p$ ?2 B) [9 X* t- Q. \9 Q* }
'http' => array(
: |8 M Y* K# d: ]2 ~ 'method' => 'POST',
% G5 i2 p/ b3 J, q$ t 'header' => 'Content-type:application/x-www-form-urlencoded', 8 c9 Y0 p( ?$ D
'content' => $postdata,
7 `% |0 |# G6 s0 x- y1 C( W) V 'timeout' => 15 * 60 // 超时时间(单位:s)
0 c7 A2 h, _( l8 M: R" b ) 3 L. G! R P+ Z, \
);
% p7 U# y* _9 V; h $context = stream_context_create($options);
n# [+ z( ]* a9 ]. T1 ~4 G4 b $result = file_get_contents($url, false, $context); 6 R* Y- t, z' B9 W1 R' U0 F
5 u6 b/ L9 l* A/ _6 d6 X5 R' i* e return $result; # s- q S1 @- m) s
}
( @/ q. r0 t6 U4 o% c0 {- \" ~) K0 A4 F. A* }$ a
//使用方法
7 i: D+ O2 S3 j, Y1 @$post_data = array(
8 V) W( L/ T* D# D* V, k 'subid' => $subid
6 P' G; e+ \6 F7 ]6 S1 k+ N);
7 ` y( g6 j! ssend_post('http://1.com/track.php', $post_data);
. \/ ~8 j7 \2 D+ L, {: hsend_post('http://2.com/track.php', $post_data); * N5 z7 c5 Q4 {
send_post('http://3.com/track.php', $post_data); " [* Y$ n& H' ?0 C: ?- G. s
send_post('http://4.com/track.php', $post_data);
; h9 I/ k4 H: ~, _: v. M1 F, G?>- U X. G' y3 }9 s% o8 D4 h
. w/ A9 ]* x# h比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈0 O, Z3 L: P% O4 ]9 C, {6 l
7 W$ V% k N7 ?# | |