有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?
( {/ }/ C0 M" ]& W# p, ?6 l, g' O( m* U6 r0 S; H3 w& Y
<?php $subid=$_POST["subid"]; ?>. k" z& c# P- L Z4 \6 M
<?php
, B& i' R( Z' B1 Cfunction send_post($url, $post_data) { " L) s# z. [4 ]- B0 c8 f% o* r# O' C/ S
3 {9 c' V k6 }/ ?- Y- T
$postdata = http_build_query($post_data);
" M8 E* n3 p. W$ \ $options = array(
* H2 H$ t% i, W7 D1 O2 ?: H 'http' => array( 6 q3 s7 f# f' A& Y( x4 @4 o7 b
'method' => 'POST', ; e; l% _; N: L5 B
'header' => 'Content-type:application/x-www-form-urlencoded',
/ s" S: n3 C: ^, ~$ t7 C 'content' => $postdata, : G6 K9 r+ R+ c) N7 L6 G* i( P
'timeout' => 15 * 60 // 超时时间(单位:s) 3 e& ^) ?4 S# K4 `0 i! n; S" F
)
- I. G* Y3 x4 h8 o ); 1 l5 Q9 n3 O# I
$context = stream_context_create($options); . G+ w6 Z/ o$ o+ {& N7 j/ H
$result = file_get_contents($url, false, $context); 7 b7 ?1 t0 \! k- j$ ~4 c k
* W3 _% _9 |+ `" v+ n j return $result; & p$ `$ Y; ^0 t3 q
} 4 ^0 A1 j6 P9 N: L9 s9 x' `6 G
" R" F$ Z$ z# A1 X
//使用方法 : \" j6 W) ? E
$post_data = array(
# ]6 S+ \$ G- R3 F: H/ x 'subid' => $subid 4 S+ z/ q: s) s# e5 Z2 ^7 \# V
);
+ m+ E& w* R( @5 G% msend_post('http://1.com/track.php', $post_data); ; C' i0 d! |; ~5 {! j; b3 Z
send_post('http://2.com/track.php', $post_data); 5 A' C3 S& e, @- D! t
send_post('http://3.com/track.php', $post_data); 2 o: J c. G1 n L, Z- j
send_post('http://4.com/track.php', $post_data); + q/ ~, b, a: o
?>% m m% {1 F3 g& d8 k9 w1 S
$ I. n/ Z9 p# J比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈
' ]/ h e( n' i/ ^5 o( Z& \) t6 S2 `* |$ J' Z
|