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"
終於出來了
特此記錄!