1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zto_express-zopsdk-php

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
ZopClient.php 1.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
chocotan Отправлено 03.04.2019 09:54 5381489
<?php
namespace zop;
include "ZopHttpUtil.php";
class ZopClient
{
private $zopProperties;
private $httpClient;
/**
* ZopClient constructor.
* @param $zopProperties
*/
public function __construct($zopProperties)
{
$this->zopProperties = $zopProperties;
$this->httpClient = new ZopHttpUtil();
}
public function execute($zopRequest)
{
$url = $zopRequest-> getUrl();
$params = $zopRequest-> getParams();
$fixedParams = Array();
foreach ($params as $k => $v) {
if (gettype($v) != "string") {
$fixedParams += [$k => json_encode($v)];
} else {
$fixedParams += [$k => $v];
}
}
$str_to_digest = "";
foreach ($fixedParams as $k => $v) {
$str_to_digest = $str_to_digest.$k."=".$v."&";
}
$str_to_digest = substr($str_to_digest, 0, -1).$this->zopProperties->getKey();
$data_digest = base64_encode(md5($str_to_digest, TRUE));
$headers = Array(
"Content-Type: application/x-www-form-urlencoded; charset=UTF-8",
"x-companyid: ".$this->zopProperties->getCompanyid(),
"x-datadigest: ".$data_digest
);
return $this->httpClient->post($url, $headers, http_build_query($fixedParams), 2000);
}
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/zto_express-zopsdk-php.git
git@api.gitlife.ru:oschina-mirror/zto_express-zopsdk-php.git
oschina-mirror
zto_express-zopsdk-php
zto_express-zopsdk-php
master