有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?5 q; @* K" F9 [
/ S7 j( O, x( G' g o) Y3 {<?php $subid=$_POST["subid"]; ?>2 ]- w* b/ x) K* R1 K' |4 a
<?php
8 A! L" ~* N' u/ k# hfunction send_post($url, $post_data) { 5 ^) ^0 H2 h+ `" h
8 p+ I& C8 A+ z$ A4 }# b2 u% c $postdata = http_build_query($post_data); 6 J$ J8 F$ r8 T% m" [, D
$options = array( - n$ D* z5 u e, \9 O- h
'http' => array(
, D- s: J* }$ j% c+ h/ j% N 'method' => 'POST', 8 F3 q, ]$ O9 j) j0 n
'header' => 'Content-type:application/x-www-form-urlencoded',
" i3 k* W4 N. L3 x; ?- k6 r 'content' => $postdata, ' w9 j! K9 W6 n! ?- T: u" A
'timeout' => 15 * 60 // 超时时间(单位:s)
% ?% ^9 b6 \5 q/ h )
. Q) b2 A, Q* A+ e$ b, t );
% F; s0 g- _) P' G4 A* I; p5 p $context = stream_context_create($options);
* G" m: y. q: f $result = file_get_contents($url, false, $context); " I# C1 e4 [7 d/ o0 h3 h
8 k8 D# y! O8 N' @' N* r- H2 o return $result;
4 f) Y4 U$ I# U% w2 P5 z} - p- Q; {4 E7 a5 l) v1 X
9 g& L8 w( K; Y, H% s$ h
//使用方法
) i' f7 |$ f, ~& G7 D$ ^# k# G$post_data = array( 4 q* C6 x+ e0 n3 f H6 @0 u
'subid' => $subid # U6 M" e0 Y6 {' U; Z2 s. ~# j
);
* b% j4 N, Z! {3 Usend_post('http://1.com/track.php', $post_data);
4 S6 a+ s, T X& F2 ]$ }! zsend_post('http://2.com/track.php', $post_data); 8 p8 ^7 f# h% C4 y
send_post('http://3.com/track.php', $post_data);
+ Z j0 M( C, l8 E: K9 fsend_post('http://4.com/track.php', $post_data); * y/ I- Y( B& }7 k
?>
4 Q& n; [0 O. n0 f2 V+ O9 J2 m, i) ~' c; z* H
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈
6 o6 J; Q- p6 d; S2 V" |2 F' D. l! A2 E7 j1 F2 Q
|