国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php - laravel menggunakan permintaan curl, nilai pulangan dianggap sebagai permintaan dan ralat berlaku
過去多啦不再A夢
過去多啦不再A夢 2017-06-05 11:08:44
0
1
1178

Latar belakang keperluan:
Projek perlu membuat permintaan curl ke platform lain saya menghantar nombor telefon mudah alih saya, dan platform lain menghantar kod pengesahan kepada pengguna dan menghantar saya resit yang berjaya
Masalah:
Penyahpepijatan setempat tiada masalah , tetapi pada pelayan, data $data dalam resit curl, iaitu, $data = curl_exec($curl);, dianggap sebagai permintaan dan token $data mesti disahkan dan pengedarannya mesti ditemui dalam fail penghalaan...
Idea penyelesaian masalah saya:
Saya mula-mula menambahkan ayat ini var_dump(Request::path()) pada kaedah pemegang
./vendorlaravelframeworksrcIlluminateFoundationHttpMiddlewareVerifyCsrfToken.php
:

pemegang fungsi awam($permintaan, Penutupan $seterusnya)

{

var_dump(Request::path());
if ($this->isReading($request) || $this->shouldPassThrough($request) || $this->tokensMatch($request)) {
    return $this->addCookieToResponse($request, $next($request));
}

throw new TokenMismatchException;

}

Laluan yang dicetak ialah URL untuk menghantar permintaan curl, dan kemudian terdapat URL platform tempat saya ingin melakukan komunikasi curl, yang membawa kepada sebab saya melaporkan ralat csrf_token dan ralat laluan kemudian

Kaedah pengawal untuk penghantaran permintaan curl ialah:

/*
 * 發(fā)送驗證碼請求
 */

public function ajaxRquest(Request $request) {
    $input['tel_num'] = $request->input('tel');
    $url = config('Api');
    $url = $url['sendVerifyCode'];
    if ($request->input('code_attr') == 'submitInformation') {
        $input['union_event'] = 'submitInformation';
    } else {
        $input['union_event'] = 'queryProgress';
    }
    $result = $this->postCurlInfo($url, json_encode($input));
    return $result;
}

public function postCurlInfo($url, $data) {
    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "POST",
        CURLOPT_POSTFIELDS => $data,
        CURLOPT_HTTPHEADER => array(
            "cache-control: no-cache",
            "content-type: application/json",
        ),
    ));
    return curl_exec($curl);
}

Dan laluan yang saya cetak ialah:

string(16) "Index/ajaxRquest" string(31) "v1/serviceCenter/sendVerifyCode"

Rentetan pertama ialah laluan kaedah yang saya gunakan untuk menghantar curl, dan yang terakhir ialah url untuk menghantar resit

Saya rasa ia sangat pelik, pengembalian curl tidak boleh dianggap sebagai permintaan!
過去多啦不再A夢
過去多啦不再A夢

membalas semua(1)
過去多啦不再A夢

Saya tidak faham soalan anda, tetapi untuk memulakan permintaan http, operasi keriting langsung tidak disyorkan Anda boleh mencuba perpustakaan zttp yang disyorkan oleh laravel

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan