八字合婚原理和源码(PHP、Java和Python)

一、合婚方法

1、生肖相配关系:男女生肖之间不宜有刑、冲、克(男生肖五行克女生肖除外),如女生肖为酉(鸡)的人不太适合与男生肖为卯(兔)的人结婚,因为卯酉相冲。
2、以四柱中的神煞衡量:四柱中不宜桃花过多,女性不宜出现红艳、流霞,原则上视为不吉利,阴阳差错日生亦不利婚。
3、以六亲衡量:男命不宜比劫重,否则有克妻之嫌,女命不宜伤官重,否则克夫,男命偏财透出代表用情不专,女命不宜官杀混杂而无食伤制。
4、以男女各自命局的用神衡量:男女命局用神互为相生;男女命局的格局互不破坏;双方行运的用神最好能够相互补益;男女其中一方忌神为对方的用神,只对一方有利;男女其中一方忌神为对方命局所克制,只对一方有利。
5、双方命宫不要相冲,冲则不稳,性格往往不能相和。
6、命局能相互中和,如金太旺的八字,应配金为喜用的八字。
7、如果双方日支,无刑冲克害,且合化为喜用神,也主夫妻美满和谐。
8、男女双方八字的日柱相配,宜日干相生、忌冲克;夫妻星宜正配正、偏配偏。
9、如果双方八字中和,无严重克害,且双方日干合化一体为喜用神,夫妻能同心一体,白头偕老。
10、命局比劫旺,宜找食伤旺的对象;命局官杀旺,宜找印枭旺的对象;命局食伤旺,宜找财旺的对象;命局财旺,宜找官杀旺的对象;命局印枭旺,宜找比劫旺的对象。

二、结婚时间

1、到了适婚年龄,并且男女双方的八字互为对方的桃花星,或者为对方的用神,很容易在求测的年份就步入婚姻的殿堂。
2、流年逢印星,且流年与日柱或时柱发生刑冲合关系,动了夫妻宫/子女宫,例如:甲戌日柱,流年癸卯,地支六合,且癸为甲的印星,即是结婚的年份。
3、日干与流年的天干五合,例如:日干为甲木的命主,遇到己亥年,天干就有甲己相合的情况出现,如果命主刚好在适婚年龄,那么很有可能在己亥年结婚。
4、地支与流年形成六合或者三合,例如:一个人的八字中地支有寅、午,那么在戊戌年,就出现了寅午戌三合的情况,如果三合火局,而且火刚好为用神,或者是桃花星,那么结婚的概率会更大。

三、合婚注意方面

首先,应全面考虑,如年龄、个性、兴趣、学历和家庭背景以及对方造化。其次,再论八字,要详细研究双方八字的选配,选配合理,则夫妻和睦,容易天长地久,反之。
1、不可损伤对方用神,如男方八字用神为甲木正财,不宜女方八字金水比劫配。
2、五行损益配法,就是双方八字五行能互补,求其平衡。如男命木旺为病,取其金旺女命配。
3、男选妻,要注意女方八字中的夫星与子星,两星明显且无破损,则旺夫益子,夫荣子显,必是上好姻缘。
4、男命比劫重者,主克妻,须择女命伤食重,主克夫者相配;反之亦然,这种方法在命学上称之为硬配,可免中年丧偶之痛。
5、八字强弱的配法,最好是男女八字皆中和,或男命小强,女命小弱者;其次,是男命强,女命弱者,或男命小强于女命者。最下的配法是女命很强,男命很弱或男命很强,女命很弱者。

四、合婚命例

1、男命分析

用神分析:己酉年生,属鸡,大驿土命,己土日元生子月不得令,虽有印比生扶,但仍然身弱,取火调候生身为用神,土和木皆为喜神。八字财官印全,为富贵命。
婚姻分析:命中偏财多,女人缘好。恋爱早,但早恋有克,必分手,晚婚可夫妻白头到老。命中婚姻信息,是先同居后结婚。
流年分析:
从1988年戊辰流年起,就有异性缘分,那几年多得女子青睐,但以后有分手现象。
1996年丙子流年,桃花恋爱正当时。
1997年丁丑流年桃花逢合,同居或成婚生孩子。
2000年庚辰流年,三合桃花临财,如已结婚,此年夫妻有吵闹,如没结婚,此年结婚生子最理想。
2001年,2002年至2009年夫妻有些克性,如相互体谅关心,则无妨。
2010年以后,家庭幸福平安。

2、女命分析

用神分析:癸丑年生,桑柘木命,壬水日元生寅月不得令,纵有天干二劫财相助,也还是身弱,取金生身为用神,水为喜神。
婚姻分析:夫宫坐将星临财官,必嫁贵夫。命中食伤旺,对丈夫有克,但多行财运无妨,不克丈夫克己身,身体有病伤难免。

3、男女双方分析

男女命鸡牛相合,弱命配弱命为吉。
男命喜木火,女命运恰好多而相补。
女命喜金水,男命运恰好多而相补。
男女五行相补,为大吉大利的好姻缘。

男命财多,有女人缘难免,女命食伤多,个性比较强,口舌争斗也难免。

4、后天补救和化解方法

1、双方八字互补已经能起到很大的化解了。
2、对居家风水做调整,改善环境或重要方位。
3、平日多做善事,如公益捐助,可改善心性。
4、夫妻矛盾加深时,一方选择忍让避开或分居一段时间。
5、男女姓名补救法,男命应补木火土相生,女命补金水相生的字和数理。

五、合婚示例源码(PHP版)

<?php
// 腾讯云市场免费秘钥申请地址
$shop_url = "https://market.cloud.tencent.com/products/42648";
// 云市场分配的密钥Id
$secretId = 'xxxx';
// 云市场分配的密钥Key
$secretKey = 'xxxx';

// 签名
$datetime = gmdate('D, d M Y H:i:s T');
$signStr = sprintf("x-date: %s", $datetime);
$sign = base64_encode(hash_hmac('sha1', $signStr, $secretKey, true));
$auth = sprintf('{"id": "%s", "x-date": "%s" , "signature": "%s"}', $secretId, $datetime, $sign);

// 请求方法
$method = 'GET';
// 请求头
$headers = array(
 'Authorization' => $auth,
    
    );
// 查询参数
$queryParams = array (
    'day' => '',
    'day1' => '',
    'hour' => '',
    'hour1' => '',
    'month' => '',
    'month1' => '',
    'xm' => '',
    'xm1' => '',
    'year' => '',
    'year1' => '',
);
// body参数(POST方法下)
$bodyParams = array (

);
$sendData = http_build_query($queryParams);
// url参数拼接
$url = 'https://ap-guangzhou.cloudmarket-apigw.com/services-4mq5lolqo/bazi/hehun'; 
if (count($queryParams) > 0) {
    $url .= '?' . http_build_query($queryParams);
}

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, array_map(function ($v, $k) {
    return $k . ': ' . $v;
}, array_values($headers), array_keys($headers)));
if (in_array($method, array('POST', 'PUT', 'PATCH'), true)) {
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('application/x-www-form-urlencoded'));
    curl_setopt($ch, CURLOPT_POSTFIELDS, $sendData);
}

$data = curl_exec($ch);
if (curl_errno($ch)) {
    echo "Error: " . curl_error($ch);
} else {
    print_r($data);
}
curl_close($ch);

六、合婚示例源码(Java版)

import com.alibaba.fastjson.JSON;
import java.util.UUID;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.security.InvalidKeyException;
import java.security.Key;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.TimeZone;

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;

import sun.misc.BASE64Encoder;


class Demo {
    public static String calcAuthorization(String secretId, String secretKey, String datetime)
            throws NoSuchAlgorithmException, UnsupportedEncodingException, InvalidKeyException {
        String signStr = "x-date: " +  datetime;
        Mac mac = Mac.getInstance("HmacSHA1");
        Key sKey = new SecretKeySpec(secretKey.getBytes("UTF-8"), mac.getAlgorithm());
        mac.init(sKey);
        byte[] hash = mac.doFinal(signStr.getBytes("UTF-8"));
        String sig = new BASE64Encoder().encode(hash);

        String auth = "{\"id\":\"" + secretId + "\", \"x-date\":\"" + datetime + "\", \"signature\":\"" + sig + "\"}";
        return auth;
    }

    public static String urlencode(Map<?, ?> map) throws UnsupportedEncodingException {
        StringBuilder sb = new StringBuilder();
        for (Map.Entry<?, ?> entry : map.entrySet()) {
            if (sb.length() > 0) {
                sb.append("&");
            }
            sb.append(String.format("%s=%s",
                    URLEncoder.encode(entry.getKey().toString(), "UTF-8"),
                    URLEncoder.encode(entry.getValue().toString(), "UTF-8")
            ));
        }
        return sb.toString();
    }

    public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException, InvalidKeyException {
    	// 腾讯云市场免费秘钥申请地址
		String shop_url = "https://market.cloud.tencent.com/products/42648";
        //云市场分配的密钥Id
        String secretId = "xxxx";
        //云市场分配的密钥Key
        String secretKey = "xxxx";

        Calendar cd = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'", Locale.US);
        sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
        String datetime = sdf.format(cd.getTime());
        // 签名
        String auth = calcAuthorization(secretId, secretKey, datetime);
        // 请求方法
        String method = "GET";
        // 请求头
        String uuid = UUID.randomUUID().toString();
        Map<String, String> headers = new HashMap<String, String>();
        headers.put("request-id", uuid);
        headers.put("Authorization", auth);

           // 查询参数
        Map<String, String> queryParams = new HashMap<String, String>();
        queryParams.put("day","");
        queryParams.put("day1","");
        queryParams.put("hour","");
        queryParams.put("hour1","");
        queryParams.put("month","");
        queryParams.put("month1","");
        queryParams.put("xm","");
        queryParams.put("xm1","");
        queryParams.put("year","");
        queryParams.put("year1","");
        // body参数
        Map<String, String> bodyParams = new HashMap<String, String>();

        String bodyParamStr = urlencode(bodyParams);

        // url参数拼接
        String url = "https://ap-guangzhou.cloudmarket-apigw.com/services-4mq5lolqo/bazi/hehun";
        if (!queryParams.isEmpty()) {
            url += "?" + urlencode(queryParams);
        }

        BufferedReader in = null;
        try {
            URL realUrl = new URL(url);
            HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection();
            conn.setConnectTimeout(5000);
            conn.setReadTimeout(5000);
            conn.setRequestMethod(method);

            // request headers
            for (Map.Entry<String, String> entry : headers.entrySet()) {
                conn.setRequestProperty(entry.getKey(), entry.getValue());
            }

            // request body
            Map<String, Boolean> methods = new HashMap<>();
            methods.put("POST", true);
            methods.put("PUT", true);
            methods.put("PATCH", true);
            Boolean hasBody = methods.get(method);
            if (hasBody != null) {
                conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

                conn.setDoOutput(true);
                DataOutputStream out = new DataOutputStream(conn.getOutputStream());
                out.writeBytes(bodyParamStr);
                out.flush();
                out.close();
            }

            // 定义 BufferedReader输入流来读取URL的响应
            in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String line;
            String result = "";
            while ((line = in.readLine()) != null) {
                result += line;
            }

            System.out.println(result);
        } catch (Exception e) {
            System.out.println(e);
            e.printStackTrace();
        } finally {
            try {
                if (in != null) {
                    in.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
    }
}

七、合婚示例源码(Python版)

# python --version 2.7.18
# -*- coding: utf-8  -*-
from __future__ import print_function

import uuid, ssl, hmac, base64, hashlib
from datetime import datetime as pydatetime

try:
    from urllib import urlencode
    from urllib2 import Request, urlopen
except ImportError:
    from urllib.parse import urlencode
    from urllib.request import Request, urlopen
    
# 腾讯云市场免费秘钥申请地址
shop_url = "https://market.cloud.tencent.com/products/42648"
# 云市场分配的密钥Id
secretId = "xxxx"
# 云市场分配的密钥Key
secretKey = "xxxx"

# 签名
datetime = pydatetime.utcnow().strftime('%a, %d %b %Y %H:%M:%S GMT')
signStr = "x-date: %s" % (datetime)
sign = base64.b64encode(hmac.new(secretKey.encode('utf-8'), signStr.encode('utf-8'), hashlib.sha1).digest())
auth = '{"id": "%s", "x-date": "%s" , "signature": "%s"}' % (secretId, datetime, sign.decode('utf-8'))

# 请求方法
method = 'GET'
# 请求头
headers = {
    'request-id': uuid.uuid1(),
    'Authorization': auth,
    
    
}
# 查询参数
queryParams = {
   "day": "",
   "day1": "",
   "hour": "",
   "hour1": "",
   "month": "",
   "month1": "",
   "xm": "",
   "xm1": "",
   "year": "",
   "year1": ""
}
# body参数(POST方法下存在)
bodyParams = {

}
bodyParamStr = urlencode(bodyParams)
# url参数拼接
url = 'https://ap-guangzhou.cloudmarket-apigw.com/services-4mq5lolqo/bazi/hehun'
if len(queryParams.keys()) > 0:
    url = url + '?' + urlencode(queryParams)

request = Request(url, headers=headers)
request.get_method = lambda: method
if method in ('POST', 'PUT', 'PATCH'):
    request.data = bodyParamStr.encode('utf-8')
    request.add_header('Content-Type', 'application/x-www-form-urlencoded')
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
response = urlopen(request, context=ctx)
content = response.read()
if content:
    print(content.decode('utf-8'))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值