有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?
4 Q# g9 L( E$ I- |: N9 Y& |: y; C% O8 o& r( u0 F! v" i
<?php $subid=$_POST["subid"]; ?>- c+ y4 x) Y: \' ^* h
<?php- q5 B& M) m* |5 ?+ Q+ k- H6 r
function send_post($url, $post_data) {
$ E3 \7 S1 h8 h% ?# a6 h6 E8 S& z" d* _1 G* ?4 z5 s
$postdata = http_build_query($post_data);
% ]$ D& A8 Q, o/ t- R$ _' C $options = array( , w7 O# k; I" _; _. _
'http' => array( ' N! M, e2 j" x @7 n! r! q- i5 R8 |
'method' => 'POST', 2 T" z; p$ O2 A% T, J0 P4 ?" Q
'header' => 'Content-type:application/x-www-form-urlencoded', : R2 z ~' l! l0 G# Z: [
'content' => $postdata, f2 y( m, Y- F" P- }' d* P
'timeout' => 15 * 60 // 超时时间(单位:s) / O3 G( S* y2 u$ J
)
5 J5 T+ N% S: ~0 d$ K$ |; g( S ); 8 | w- X) t* v0 R, l* E
$context = stream_context_create($options); 6 Y n; f6 s& h, v# T7 d2 a
$result = file_get_contents($url, false, $context); 2 I4 ?3 f4 V7 R0 B J" ~% C- z8 z; Q
* K! f& v8 p8 T% Q* C return $result;
- n+ r3 m5 v0 e* R8 R/ `) v} 4 d" B2 D' m$ }$ t. ~0 [ c0 n: j3 W
, _2 _+ M+ p/ ~2 K0 @7 t//使用方法 % `* p0 F4 W& v3 \$ C
$post_data = array(
; A9 ^0 I9 n3 R' D 'subid' => $subid 2 _: V; r# L) z5 x
); 6 y7 }( u5 k" N! J( M
send_post('http://1.com/track.php', $post_data);
9 h6 x0 N( U6 H4 t- O7 }8 Osend_post('http://2.com/track.php', $post_data);
+ K, ]) n% V" Q- {/ ], Z: F* qsend_post('http://3.com/track.php', $post_data);
- _5 M% K# F( Q) i2 ^' r# e: S4 _send_post('http://4.com/track.php', $post_data);
2 A3 {7 _ H* Z?>
; f1 K" N! V+ L! M w1 J) V* Q4 g* x2 j
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈
2 _+ R5 m$ l( i, D5 x( z, B
( C: H: m) M0 k0 |8 [- p |