Über die PHP-Express-Abfrageklasse

jacklove
Freigeben: 2023-03-27 10:38:02
Original
2406 Leute haben es durchsucht

In diesem Artikel werden die zugehörigen Methoden der PHP-Express-Abfrageklasse vorgestellt.

Express-Unternehmen: Solange Sie die Express-Nummer direkt eingeben, können Sie die Express-Unternehmens- und Logistikinformationen automatisch identifizieren, in denen sich die Express-Nummer befindet. Dies ist sehr praktisch perfekt in die Funktionen Ihres Systems integriert werden!

Verwendungsbeispiel: Verwenden Sie es wie folgt: Rufen Sie einfach die Methode getLogisticsInfo() in der Klasse auf und übergeben Sie die Bestellnummer als Parameter $e = new Express();

$data = $e->getLogisticsInfo("453371918456");
echo &#39;<pre class="brush:php;toolbar:false">&#39;;var_dump($data);
Nach dem Login kopieren
<?php/**
 * Express.class.php 快递查询类
 *
 * @author 王浩铭
 * @date 2017/09/27
 */class Express {    /**
     * @desc 采集网页内容的方法,建议使用curl,效率更高
     * @param $url
     * @return mixed|string
     */
    private function getContent($url){        if(function_exists("file_get_contents")){
            $file_contents = file_get_contents($url);
        }else{
            $ch = curl_init();
            $timeout = 5;   // 设置5秒超时
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
            $file_contents = curl_exec($ch);
            curl_close($ch);
        }        return $file_contents;
    }    /**
     * @desc 得到目前物流单号可能存在的快递公司
     * @param string $order_no
     * @return mixed
     */
Nach dem Login kopieren
 public function getOrder($order_no=&#39;&#39;){
        $result = $this->getContent("http://www.kuaidi100.com/autonumber/autoComNum?text=".$order_no);
        $data = json_decode($result,true);        return $data;
    }    /**
     * @desc http://www.kuaidi100.com/query?type=zhongtong&postid=453371918456&id=1&valicode=&temp=0.40349807080624434
     * @desc 返回的数据结果参考官方文档:https://www.kuaidi100.com/openapi/api_post.shtml
     * @desc 直接调用该方法,传入物流单号即可查询物流信息
     * @param string $order_no
     * @return bool|mixed
     */
    public function getLogisticsInfo($order_no=&#39;&#39;){
        $result = $this->getOrder($order_no);
        $auto_arr = $result[&#39;auto&#39;];        if(count($auto_arr)>0){            foreach ($auto_arr as $key => $value){
                $temp = $this->randFloat();
                $comCode = $value[&#39;comCode&#39;];
                $url = "http://www.kuaidi100.com/query?type=$comCode&postid=$order_no&id=1&valicode=&temp=$temp";// $temp 随机数,防止缓存
                $json = $this->getContent($url);
                $data = json_decode($json,true);                if($data[&#39;message&#39;]==&#39;ok&#39;){                    return $data;
                }
            }
        }        return false;
    }    /**
     * 生成0~1随机小数
     * @param Int  $min
     * @param Int  $max
     * @return Float
     */
    function randFloat($min=0, $max=1){        return $min + mt_rand()/mt_getrandmax() * ($max-$min);
    }
}
Nach dem Login kopieren

In diesem Artikel wird die Methode der PHP-Express-Abfrageklasse vorgestellt. Weitere Informationen zu diesem Thema finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

PHP sendet XML-Daten über Curl und erhält XML-Daten

PHP generiert Word perfekt Dokument können Sie HTML-Elemente hinzufügen

Detaillierte Erläuterung des ThinkPhp-Caching-Prinzips und der Verwendung

Das obige ist der detaillierte Inhalt vonÜber die PHP-Express-Abfrageklasse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage