有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?
3 I9 {8 }- C( u8 H% T; p9 `7 S! p9 n5 `% K4 [ G
<?php $subid=$_POST["subid"]; ?>. w1 [' n3 p* M* n+ w" r0 P
<?php
L" o( r$ u0 j4 Q. w' R! |function send_post($url, $post_data) { , L, S& ?5 h5 s9 I: E6 d
3 |0 W8 v5 I* x9 X; H
$postdata = http_build_query($post_data); ( R' T" z8 R5 @+ d5 F4 q. ~5 r
$options = array(
2 G2 u- Y& O4 g0 o9 h2 n3 i7 c 'http' => array( # x* v3 V3 N& g
'method' => 'POST',
) V8 Q: T" Z/ `( W: o6 c2 l 'header' => 'Content-type:application/x-www-form-urlencoded', " j/ g: l: A, {7 d3 Z- F; b1 q
'content' => $postdata, ! w. ^6 ^: _+ o8 H' d, G6 _8 B
'timeout' => 15 * 60 // 超时时间(单位:s)
. F# E; D: }0 u/ H )
, o1 w. F m- O( Y ); ) p7 D: U- C- E* e1 ^
$context = stream_context_create($options); ( E. n9 D2 g! z K+ \
$result = file_get_contents($url, false, $context); ; B4 K1 v# S' V/ Y( s2 _
. H) A# E7 X* j B, S return $result;
+ T+ v0 Q5 I9 n1 ~& ]} ( m" ]7 d4 v5 H4 ?/ ^
) s3 `; B2 \: F) k
//使用方法
5 |/ Q7 @! v V0 m! y$post_data = array( - N* P# G6 r9 R8 F7 g
'subid' => $subid
4 O$ \) `3 ~6 _# S8 S( |);
* _' a) c+ e' s( c1 ^send_post('http://1.com/track.php', $post_data); " @- l# Y( V3 N: Y3 R7 S: ^' F
send_post('http://2.com/track.php', $post_data); , D0 P+ d9 b3 i6 t
send_post('http://3.com/track.php', $post_data);
- T% h( w& Q2 Lsend_post('http://4.com/track.php', $post_data);
- F; o' F$ O) R, P?>
1 ]: Z V; j6 T" e/ s: x" k' E# y8 W3 h9 m* F5 k S1 H
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈
9 z5 }1 i+ M4 R: c0 D" k5 O
6 E& u1 T# O9 ~* h |