failed to open stream: HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported


PHP模擬GET請求支付寶退款鏈接(未用sdk  自己拼接的請求鏈接與參數);

起初用file_get_contents();就報錯 :failed to open stream: HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported!!!

換成 curl模擬get 請求 返回值為空 沒錯 直接沒報錯 返回空字符串,,,以為curl參數設置不對,各種試到懷疑人生

接着繼續 獲取  $info = curl_getinfo($ch); 查看信息

發現 http_code 為 505 ,查到說是 不支持 HTTP/1.1的有(此處肯定不是該原因) 也有說請求格式不對 要 去除空格

直接 對URL   preg_replace('# #','',$url) 再請求

接着  支付寶 又返回時間參數格式有錯  也就是 yyy-MM-dd HH:mm:ss 中間的空格還不能沒有  

看到一篇文章  解決了該問題 : https://blog.csdn.net/bianb123/article/details/81557300

preg_replace('# #','%20',$url);

再回頭  無論 file_get_contents(); 還是curl 都可成功請求, 期待已久的  

"code":"10000","msg":"Success"

終於出來了

特此記錄!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM