有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?% f$ n) E) V+ m* `; b4 S
7 `" \4 B4 b1 h" _6 I& t( v<?php $subid=$_POST["subid"]; ?>
; n7 X) ~" x v$ J0 z9 ^* @<?php; j: C) x: n3 V; q I
function send_post($url, $post_data) {
5 h* {3 j! ]! T, J& x5 r3 a: ?6 R: B1 W q
$postdata = http_build_query($post_data);
& @/ o. S! k+ |9 ^# x& g $options = array(
) [2 G* T1 `, v# G7 B 'http' => array( 1 b0 N$ O. c& v
'method' => 'POST', % G7 j5 }1 g2 \0 }$ _' ]& e, s5 Q# `% n
'header' => 'Content-type:application/x-www-form-urlencoded', 6 k Y" Y; N; I4 c5 c! x v+ }
'content' => $postdata,
) W. _' \, Z" o! y1 ~, O 'timeout' => 15 * 60 // 超时时间(单位:s)
X+ t9 S6 j$ c& O5 t/ D ) ) a) e7 ^, j) r+ _5 [
); ! L/ a, D) W1 K7 L5 k
$context = stream_context_create($options); 1 c: |9 `, J+ e% M
$result = file_get_contents($url, false, $context);
. ~1 |: W* [6 c2 @( X1 y1 w8 t, F# O1 Y4 Y7 V; d" _3 ~, ]6 t9 \
return $result;
6 D- I( ]; Y, q, S7 p} 6 }; s7 ?2 P9 D$ {
" P$ V% h2 C# a; d& \$ {//使用方法 8 S f( D: F3 \+ t
$post_data = array(
& j; Q, C5 ?/ @8 Y1 A% m: N 'subid' => $subid ! _! b; @. Z0 `/ u9 Z8 c) w
);
3 W" i* J* Y7 U" b$ esend_post('http://1.com/track.php', $post_data); , q' J5 d% x) {! i1 m6 j
send_post('http://2.com/track.php', $post_data); & K; P7 i' W5 n. ?$ A
send_post('http://3.com/track.php', $post_data); / a! [1 P! E7 U$ h$ a* j
send_post('http://4.com/track.php', $post_data); ; O3 w! z! A# [
?>
$ ]* L( b, L. n7 K9 z7 N7 [2 C5 |- u' J) \- @! w
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈3 F4 a4 v7 Z4 X) b h, n8 U& C
9 b8 s' }4 H; e |