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

javascript - PHP請求http post 頁面,報錯該如何解決?
PHP中文網(wǎng)
PHP中文網(wǎng) 2017-05-16 13:16:17
0
5
620

程式碼:

<?php
/**
 * PHP發(fā)送Json對象數(shù)據(jù)
 *
 * @param $url 請求url
 * @param $jsonStr 發(fā)送的json字符串
 * @return array
 */
function http_post_json($url, $jsonStr){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonStr);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json; charset=utf-8',
            'Content-Length: ' . strlen($jsonStr)
        )
    );
    $response = curl_exec($ch);//執(zhí)行一個cURL會話,成功時返回tru,失敗返回false
    $err = curl_error($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);//獲取最后一次傳輸?shù)南嚓P(guān)信息,最后一個收到的HTTP代碼

    curl_close($ch);
 
    return array($httpCode, $response, $err);
}

$time = time();

$url = "https://openapi.lechange.cn/openapi/accessToken";

$str = "phone:17691200000,time:{$time},nonce:49735441495760803893403522385895,appSecret:6d5c2c723dbb4ba78fac5a0e9ece81";

$str = md5($str);

$params = array(
            "system"=>array(
                'ver'=>'1.0',
                'sign'=>$str,
                'appid'=>'lcce1fdddaa5de4322',
                'time'=>"$time",
                'nonce'=>'49735441495760803893403522385895'
            ),
            "params"=>array("phone"=>"17691200000"),
            "id"=>"80"
        );

$jsonparams = json_encode($params);
echo $jsonparams;
list($returnCode, $returnContent, $err) = http_post_json($url, $jsonparams);

echo $returnCode;
var_dump($returnContent);
echo $err;
?>

執(zhí)行過程中,會報兩個錯誤。
(1)SSL certificate problem: unable to get local issuer certificate。 php.ini檔案中加入下邊兩行程式碼後,這個錯誤消失。

curl.cainfo="D:/wamp64/ca-bundle.crt"
openssl.cafile="D:/wamp64/ca-bundle.crt"

(2)以上錯誤消失後,就出現(xiàn)了

502 Bad Gateway
The proxy server received an invalid response from an upstream server.

現(xiàn)在真的是沒有辦法了。 。即使參數(shù),或是簽章錯誤,那也是對方伺服器回傳一個錯誤碼,但這個502是連回傳錯誤碼的機會都不給了。求大神幫忙解決。

PHP中文網(wǎng)
PHP中文網(wǎng)

認證0級講師

全部回覆(5)
Peter_Zhu

wamp伺服器怎麼會由502?502是反向代理錯誤。
你本地的apache+php+mysql+windows是反向代理模式運作還是apache2 handler形式?

為情所困

明顯是對方網(wǎng)站掛了啊…瀏覽器直接打開也是502

給我你的懷抱

提示比較明顯了。後端服務(wù)有問題,所以 upstream 回傳有 502。

對方的後端服務(wù)在回應(yīng)你的請求時回傳了一個代理不接受的結(jié)果(一般是 4XX,5XX)。

有兩種情況:

  1. 對方後端服務(wù)本來認為不應(yīng)該有 5XX 的結(jié)果(或?qū)Ψ结岫朔?wù)宕了),所以 upstream 不支援接受這類結(jié)果。那就是讓對方改服務(wù),不要回傳 5xx 錯誤。

  2. 對方後端服務(wù)認為支援用 4xx/5xx 表示一些結(jié)果(常見於 Restful 服務(wù)),那需要對方修改 upstream 配置,支持這類結(jié)果作為正常結(jié)果返回。

PHPzhong

設(shè)定:CURLOPT_SSL_VERIFYPEER =>假

洪濤

請求頁面,介面調(diào)試,用postman。非常好用的一個工具。模擬請求,可以方便拿到請求實例程式碼

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板