Satu perkara yang menarik tentang simulasi permintaan saya menggunakan PHP!

藏色散人
Lepaskan: 2023-04-11 08:20:01
ke hadapan
4515 orang telah melayarinya

Berikut ialah perkara yang menarik tentang melaksanakan simulasi permintaan PHP dari lajur tutorial PHP saya harap ia akan membantu anda!

Saya membuat 50 yuan dengan hanya melaksanakan simulasi permintaan PHP

Perkara menarik berlaku pada hujung minggu ini: Saya melihat seseorang dalam kumpulan yang memerlukan bantuan dengan pembangunan PHP dan berjanji untuk dibayar saya menyelesaikan masalah selepas cadangan diri, dan menerima 50 yuan.

Seterusnya, saya akan bercakap tentang semuanya secara terperinci.

Saya membuka QQ selepas keluar kerja pada hari Sabtu, dan semasa menyemak imbas mesej kumpulan, saya melihat ayat ini: "Adakah sesiapa dalam kumpulan yang boleh menulis kod PHP, secara percuma." Saya segera menambah QQnya dan memberitahunya bahawa saya sedang melakukan pembangunan PHP dan saya boleh membantu.

Saya menerima balasannya pada pagi Ahad. Dia memberikan saya dokumen dan meminta saya untuk melihat sama ada ia boleh dilaksanakan dengan teliti dan mendapati ia adalah dokumen antara muka pihak ketiga dia untuk menyambung ini Antara muka adalah sangat mudah Saya ingin tahu apa perniagaan khusus beliau, dan dia memberitahu saya bahawa saya hanya memerlukan bantuan untuk menyesuaikannya. Berikut ialah tangkapan skrin perbualan kami:

Satu perkara yang menarik tentang simulasi permintaan saya menggunakan PHP!

Satu perkara yang menarik tentang simulasi permintaan saya menggunakan PHP!

Walaupun wang yang dia tawarkan tidak banyak, kebetulan saya tiada apa-apa nak buat pada masa itu, jadi saya salin kod yang saya tulis sebelum ini menukarnya semula, dan ia telah diselaraskan dengan cepat saya menunjukkan kepadanya tangkapan skrin, dia menghantar saya sampul merah 50 yuan selepas mengesahkan bahawa saya juga menghantar dokumen kepadanya, dan semuanya telah selesai.

Perkara seterusnya yang saya ingin bincangkan ialah isu teknikal di sebalik perkara ini.

Pertama sekali, dia memahami perkembangan PHP Dia menghadapi masalah semasa pembangunan Saya tidak tahu sama ada dia terlalu malas untuk mencari atau kerana dia tidak menemui penyelesaian dalam PHP pelaksanaan simulasi permintaan.

Sekarang saya berkongsi keseluruhan kod fail, berharap dapat membantu orang yang menghadapi masalah yang sama:

<?php
class HttpClientUtil
{
    public function sendRequest($type = &#39;&#39;, $url = &#39;&#39;, $data = [], $timeout = 60)
    {
        try {
            $type = strtoupper($type);
            $curl = curl_init();
            curl_setopt($curl, CURLOPT_URL, $url);//设置请求链接
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//不直接输出页面
            curl_setopt($curl, CURLOPT_HEADER, 0);//获取响应头向下
            curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);   //请求超时时间,单位:秒
            curl_setopt($curl, CURLOPT_USERAGENT, &#39;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1&#39;);
            if (substr($url, 0, 5) == &#39;https&#39;) { //自动判断是否是https提交
                curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);  // https请求 不验证证书和hosts
                curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
            }
            curl_setopt($curl, CURLOPT_HTTPHEADER, [&#39;Content-Type:application/json&#39;]);
            switch ($type) {
                case "GET" :
                    curl_setopt($curl, CURLOPT_HTTPGET, true);
                    break;
                case "POST":
                    curl_setopt($curl, CURLOPT_POST, true);
                    curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
                    break;
                case "PUT" :
                    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
                    curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
                    break;
                case "DELETE":
                    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE");
                    curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
                    break;
            }
            $result = curl_exec($curl);
            $err_code = curl_errno($curl);
            $curlInfo = curl_getinfo($curl);
            curl_close($curl);
            if ($err_code) {
                return false;
            }
            if ($curlInfo[&#39;http_code&#39;] == 200) { //只有200状态才返回数据
                return json_decode($result, true);
            }
            return false;
        } catch (\Exception $e) {
            throw new \Exception($e->getMessage());
        }
    }
    public function createSign($data){
        // 拼接
        $dataStr = &#39;&#39;;
        foreach ($data as $key=>$value){
            $dataStr.="{$key}={$value}&";
        }
        // 拼接商户密钥
        $dataStr.=&#39;access_token=***B8&#39;;
        // 加密
        $sign =strtoupper(MD5($dataStr));
        $data[&#39;sign&#39;]=$sign;
        return $data;
    }
}
$api = new HttpClientUtil();
$url = &#39;http://***/order/pay&#39;;
$data=[
    &#39;userName&#39;=>&#39;test&#39;,
    &#39;version&#39;=>&#39;2.0&#39;,
    &#39;cardName&#39;=>&#39;张三&#39;,
    &#39;cardNum&#39;=>&#39;20932402940189310293&#39;,
    &#39;openBank&#39;=>&#39;招商银行&#39;,
    &#39;amount&#39;=>&#39;10.00&#39;,
    &#39;outOrderId&#39;=>&#39;JD123123123&#39;,
    &#39;returnUrl&#39;=>&#39;/&#39;,
];
$res = $api->sendRequest(&#39;post&#39;,$url,$api->createSign($data));
print_r($res);
Salin selepas log masuk

Pembelajaran yang disyorkan: "Video PHP. Tutorial

Atas ialah kandungan terperinci Satu perkara yang menarik tentang simulasi permintaan saya menggunakan PHP!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:learnku.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan