有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?. |, Q: f+ X) U% M% C% S+ P- o7 k
2 z- ~" t+ G3 i8 M$ o
<?php $subid=$_POST["subid"]; ?>
) P/ u* X4 q0 v; d6 y, {- e; K8 X<?php
% H2 Y& F8 d7 d# S3 Mfunction send_post($url, $post_data) { 5 P+ N% R; f& v0 s( t7 u( Z" ]
( r. ^+ I3 h" i6 Z4 W1 M$ ?
$postdata = http_build_query($post_data); $ G! y! E$ d9 {# f+ l+ Z9 h/ p. Q
$options = array( 4 t9 h: p* Y! [$ y c) b5 V
'http' => array( 2 q3 v, n0 b6 S% D1 \! G
'method' => 'POST',
# _) \4 v+ C6 J3 d0 g 'header' => 'Content-type:application/x-www-form-urlencoded',
* ^" |) ~3 L2 q; f' H6 G& S7 r3 l 'content' => $postdata,
9 C( Z; Q& j5 e0 T2 z) p; c; L$ @ 'timeout' => 15 * 60 // 超时时间(单位:s) + S3 @: D+ p! g6 o1 [
) 1 m2 K. T, m1 e# E# L5 I' [
); 1 S$ f& d, z4 a, n+ A" t: ^8 v w
$context = stream_context_create($options); 9 q7 U$ m9 I6 A
$result = file_get_contents($url, false, $context);
' u) ]9 f6 R& Z' p, N
, x3 y" E* h' }; W( k$ P' b% ^" O return $result; . U' T# O# k8 g
}
: z( `, X l' ~: _& k1 t9 K8 D9 L( T0 L2 k
//使用方法 0 z; O) p9 E; K, } @
$post_data = array(
$ G% E% e3 y8 U3 \4 G1 q& H; T+ y& A 'subid' => $subid " b8 S. ]$ C/ R& t& @2 C
);
6 d F/ t( u9 L8 U0 J4 Ksend_post('http://1.com/track.php', $post_data);
- k; a) I# L9 V9 m; x3 J7 Bsend_post('http://2.com/track.php', $post_data); 0 F. b/ Q! K9 A( u! e7 q$ M! Q3 E: }
send_post('http://3.com/track.php', $post_data);
1 N3 p" W' w3 F8 U, i. z6 i! Psend_post('http://4.com/track.php', $post_data); . }3 l1 J$ f5 t- B+ R
?>
2 _' Q. R) g. [
/ P' |/ o% F! F+ p$ y' b. Q比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈
4 L( ?+ d9 F2 }1 u" |2 b8 T8 G
# B( J8 I- S1 Y) L% x |