有些联盟只允许填入一个tracker的post back url,这对于同时使用好几个tracker的话实在是不方便,因此我想使用中转的办法,一个中转服务器收到联盟的postback url,然后再把track.php?subid=XXXX(以imobitrax为例)转发到其它几个tracker上,自己捣鼓了一下没成功,有人帮忙看看问题在哪吗?" O) z. A/ u% s$ H
+ r/ c1 x3 p( s# s' \. t<?php $subid=$_POST["subid"]; ?>: ~% `7 Q6 D2 f, q
<?php
1 ]1 d8 P2 s2 W+ \6 o6 ffunction send_post($url, $post_data) { + N/ |0 e5 Y- w) m- D% ?- W6 s5 Z7 W
, F" I9 i/ M: w3 ` $postdata = http_build_query($post_data); 7 @9 K/ V* u8 ]! U; i' E$ O
$options = array(
4 f5 W" }( P9 {: }5 ], I 'http' => array( 3 \, u# [: H" P8 g( x
'method' => 'POST', ) G/ M( A4 z) j: g' [7 Q' I% `
'header' => 'Content-type:application/x-www-form-urlencoded',
! W2 g b/ q( ]* {3 O) b+ A9 \ 'content' => $postdata,
4 s( F) {; N" v2 `3 d4 F4 W 'timeout' => 15 * 60 // 超时时间(单位:s) 4 W( Q- T8 ^; A% X
) # s6 |5 f: b0 N/ q; v* [ U
);
- f" A( J5 _ L# D; U4 k7 V $context = stream_context_create($options); , G$ @) J# ^+ e) v
$result = file_get_contents($url, false, $context);
2 S$ m6 U: F, B7 e3 y! e5 ^, E, X7 m! T4 Y, Z# |+ r9 s; e
return $result; 8 e" Q2 p& S& j8 ~
} 3 m/ v/ {. W! f4 u
/ `& v% v8 d9 Y3 \2 ^
//使用方法 & p/ L; T" y9 Z: u6 E
$post_data = array(
/ U) n5 r& ^% k4 Q3 C% W 'subid' => $subid
U' A4 R. P+ ?# m9 `9 b5 N2 J: E);
6 ~5 J" S6 B: l+ c; {send_post('http://1.com/track.php', $post_data);
' t# [! F5 o. P0 f# usend_post('http://2.com/track.php', $post_data);
* E! E9 n5 e; a. ?5 h6 N' U6 psend_post('http://3.com/track.php', $post_data);
, J- J2 d! U1 H! y/ `3 F9 Asend_post('http://4.com/track.php', $post_data);
; W' h5 B1 x h- J6 Z `+ F?>, y& Z6 I/ F5 _2 G" V$ U% u7 U9 H6 T
6 e; y/ \2 P/ ]1 `8 W
比如以上这段存为,trackredirect.php ,联盟那里call back url 填入 xxx.com/trackredirect.php?subid={subid},但是我测试了,不工作呢,好头痛,求专业人士帮忙看看哈
' e9 [: \ z2 q: s
* o1 Y; z. g: O, R- Q3 v |