有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?
/ F) X3 ?, i5 T
$ Q- O7 N& x& s( A1 \<?php $subid=$_POST["subid"]; ?>
; x, h5 t% F- s5 D0 x3 ~<?php
, W7 a+ p) X+ L8 ?) ]+ zfunction send_post($url, $post_data) {
) k7 R$ D2 Q3 X: d$ ]8 @# m! q: P$ i& r- T k( E
$postdata = http_build_query($post_data);
/ ]4 G+ N* `& d/ ]) w! a& H $options = array( ( u$ @% `9 ~" h0 u$ b& O0 m7 E
'http' => array( , \! H L2 n' q; J( r5 C
'method' => 'POST', , x) \+ m! v. M/ q& A
'header' => 'Content-type:application/x-www-form-urlencoded',
4 f1 ?) ~4 W- P2 u5 d- i 'content' => $postdata,
! D; _$ ]3 }. A9 ]1 ` 'timeout' => 15 * 60 // 超时时间(单位:s)
* c: x7 p5 [# N* [2 Z0 j ) 4 X1 ^; f6 z, R' E5 U; V2 g
); " a3 E! M; T& }' x
$context = stream_context_create($options); 6 j7 _3 H/ [9 w) C
$result = file_get_contents($url, false, $context);
1 i7 l8 b# }+ @2 C: R+ @
/ u9 R. p6 _" g& p0 P return $result; . f+ y# r2 C" H. E; Y2 e6 B
} 9 A; n1 u Y# f( D8 Y4 O# s
' [) a+ Q7 X$ C% Y4 G3 S
//使用方法
3 U6 X* C. r+ a# \/ A$post_data = array( ( ?# u c. H' o
'subid' => $subid ) V* z7 Y/ i6 d- u% G+ c( `4 v
);
) q! h/ a7 o7 P8 F& M, usend_post('http://1.com/track.php', $post_data); ; b4 t9 _ ]/ U3 }; j0 @
send_post('http://2.com/track.php', $post_data); + \9 F+ N: u! }- V
send_post('http://3.com/track.php', $post_data);
: A3 C, P$ n# C* T6 vsend_post('http://4.com/track.php', $post_data);
7 c, {& R/ I4 w, b/ s+ H?>" ] A9 G, |7 g# @/ W; k
+ b/ i* s2 E$ L5 A* h比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈
7 C6 B. g; s7 g6 P5 s0 P
; L: q2 Q$ X, ]3 I+ H |