Пример #1
0
function customHttpClient($SERVER, $PATH, $COOKIES, $PARAMS)
{
    //return;//return '{"resHeader":{"backUrl":"","flag":"0","msg":"访问失败"}}';
    //到远程服务器查询登录状态
    include_once dirname(__FILE__) . '/httpclient.inc.php';
    try {
        $client = new HttpClient($SERVER);
        $client->timeout = 10;
        $client->setCookies($COOKIES);
        $client->setPersistCookies(true);
        $postURL = $PATH;
        customCreateLogFile(dirname(__FILE__) . "/httpclient_log/" . date('Ymd') . ".txt", getHexDecode($client->buildQueryString($PARAMS)));
        if (!$client->post($postURL, $PARAMS)) {
            customCreateLogFile(dirname(__FILE__) . "/httpclient_log/" . date('Ymd') . ".txt", "\nPUT SERVER:" . $SERVER . "" . $PATH . "\nFAILD1");
            return '{"resHeader":{"backUrl":"","flag":"0","msg":"访问失败1"}}';
        }
    } catch (Exception $e) {
        customCreateLogFile(dirname(__FILE__) . "/httpclient_log/" . date('Ymd') . ".txt", "\nPUT SERVER:" . $SERVER . "" . $PATH . "\nFAILD2");
        return '{"resHeader":{"backUrl":"","flag":"0","msg":"访问失败2"}}';
    }
    $response = $client->getContent();
    customCreateLogFile(dirname(__FILE__) . "/httpclient_log/" . date('Ymd') . ".txt", "\nPUT SERVER:" . $SERVER . "" . $PATH . "\nPUT COOKIES:" . (is_array($COOKIES) ? var_export($COOKIES, true) : '') . "\nPUT DATA:" . (is_array($PARAMS) ? var_export($PARAMS, true) : $PARAMS) . "\nGET DATA:" . iconv('GBK', 'UTF-8', $response));
    return iconv('GBK', 'UTF-8', $response);
}
Пример #2
0
 private function weixin_bind($username, $password)
 {
     //		echo 555;exit;
     $new_token = md5($username . $password);
     $new_token = substr($new_token, 2, 15);
     import("@.ORG.HttpClient");
     $http = new HttpClient('mp.weixin.qq.com');
     $http->setPersistCookies(true);
     $http->setPersistReferers(true);
     $http->setCookies(array('uin_cookie' => '85858963', 'euin_cookie' => 'A6C9D89A295536D698C6446BEBE935C403FA57F2166E6962', 'ac' => '1,008,009'));
     $http->get('/');
     $http->post('/cgi-bin/login', array('f' => 'json', 'imgcode' => '', 'username' => $username, 'pwd' => md5($password)));
     $sres = trim($http->getContent(true));
     $reds = json_decode($sres);
     $token = $reds->ErrMsg;
     $token = explode('&token=', $token);
     $token = $token[1];
     //关闭普通接口
     $http->post('/cgi-bin/skeyform?form=advancedswitchform&lang=zh_CN', array('flag' => '0', 'type' => '1', 'token' => $token));
     $http->getContent(true);
     //修改开发路径
     $http->post('/cgi-bin/callbackprofile?t=ajax-response&lang=zh_CN&token=' . $token, array('url' => C('site_url') . '/index.php/api/' . $new_token, 'callback_token' => $new_token));
     $res = $http->getContent(true);
     sleep(1);
     //开启开发接口
     $http->post('/cgi-bin/skeyform?form=advancedswitchform&lang=zh_CN', array('flag' => '1', 'type' => '2', 'token' => $token));
     $http->getContent(true);
     //获取用户微信基本信息
     $http->get('/cgi-bin/settingpage?t=setting/index&action=index&token=' . $token . '&lang=zh_CN');
     $setting = $http->getContent(true);
     preg_match('|<li class="account_setting_item">.*?名称.*?<div class="meta_content">(.*?)</div>.*?</li>.*?<li class="account_setting_item">.*?原始ID.*?<div class="meta_content">.*?<span>(.*?)</span>.*?</div>.*?</li>.*?<li class="account_setting_item">.*?微信号.*?<div class="meta_content">.*?<span>(.*?)</span>.*?</div>.*?</li>|is', $setting, $baseinfo);
     if (trim($baseinfo[1])) {
         $resut = array('wxname' => trim($baseinfo[1]), 'wxid' => trim($baseinfo[2]), 'weixin' => trim($baseinfo[3]), 'token' => $new_token);
     } else {
         $resut = array();
     }
     return $resut;
 }