有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?4 l8 E! W! ?0 e) x+ i2 `, w! K, ?
, F K5 N- ] S2 S4 D9 n. [<?php $subid=$_POST["subid"]; ?>+ c$ Z3 c7 v m8 c6 d% L7 P9 y
<?php
( @; O! ~, c+ U, x% I! Jfunction send_post($url, $post_data) {
* @9 U- X: J8 ~0 u. t1 P( E- R
" ~1 F' k6 `/ Y. ~9 k $postdata = http_build_query($post_data);
, ~+ O d6 r4 P $options = array( * s: l. o# l3 W" H( [" L
'http' => array( & a7 {: a, z$ c) O
'method' => 'POST', * |0 ?0 p& C& I4 H4 A. f. K
'header' => 'Content-type:application/x-www-form-urlencoded',
7 {0 N0 I& ]) _ 'content' => $postdata,
1 }. ?& J3 `8 e% @$ R5 @3 L 'timeout' => 15 * 60 // 超时时间(单位:s)
: }6 ]: f9 L+ Q ) $ C$ h" `5 m& t) S ]/ Y
); 0 V9 C4 ?$ G5 B0 j+ F
$context = stream_context_create($options);
7 l- f' G( h3 c9 n- J1 I $result = file_get_contents($url, false, $context);
% t4 `6 r% f7 `2 i# w% n0 E0 p N, ]8 R! K1 u; u- C* `. {
return $result; 2 |/ Z$ Y, ?* I! Q: J$ q
} ) \6 c% o# G& q: e+ ?2 e
5 k) }1 q" j: a) A//使用方法 5 r" }* X7 @8 @8 A1 l8 B
$post_data = array( * ~/ Q9 K1 i' i9 W) s4 C" m
'subid' => $subid ) f+ r# i! ~3 [* z. U/ d& _! E
); - W1 h: j! |& K, ~8 t* r6 l* D+ u/ e
send_post('http://1.com/track.php', $post_data);
: ]9 D3 A( R# j" V3 n5 Lsend_post('http://2.com/track.php', $post_data);
7 V, o, X$ a* @; Jsend_post('http://3.com/track.php', $post_data); 4 R* N0 k! B5 g) w* u
send_post('http://4.com/track.php', $post_data);
9 l8 o/ |& N. F1 K" w?>3 O% R" Y8 \; U' T! ~' a* b
1 w/ v: {( t7 p比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈. }6 ~3 i1 Z5 X( Q1 h3 B. v! ^
* p1 J8 U( b- s) ~4 P. R |