這篇文章帶給大家的內容是關於php訪問url的兩種方法範例(程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
get請求
/* * php访问url路径,get请求 */ function curl_file_get_contents($durl){ // header传送格式 $headers = array( "token:1111111111111", "over_time:22222222222", ); // 初始化 $curl = curl_init(); // 设置url路径 curl_setopt($curl, CURLOPT_URL, $durl); // 将 curl_exec()获取的信息以文件流的形式返回,而不是直接输出。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true) ; // 在启用 CURLOPT_RETURNTRANSFER 时候将获取数据返回 curl_setopt($curl, CURLOPT_BINARYTRANSFER, true) ; // 添加头信息 curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); // CURLINFO_HEADER_OUT选项可以拿到请求头信息 curl_setopt($curl, CURLINFO_HEADER_OUT, true); // 执行 $data = curl_exec($curl); // 打印请求头信息 // echo curl_getinfo($curl, CURLINFO_HEADER_OUT); // 关闭连接 curl_close($curl); // 返回数据 return $data; }
post請求
/* * php访问url路径,post请求 * * durl 路径url * post_data array() post参数数据 */ public function curl_file_post_contents($durl, $post_data){ // header传送格式 $headers = array( "token:1111111111111", "over_time:22222222222", ); //初始化 $curl = curl_init(); //设置抓取的url curl_setopt($curl, CURLOPT_URL, $durl); //设置头文件的信息作为数据流输出 curl_setopt($curl, CURLOPT_HEADER, false); //设置获取的信息以文件流的形式返回,而不是直接输出。 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); //设置post方式提交 curl_setopt($curl, CURLOPT_POST, true); // 设置post请求参数 curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); // CURLINFO_HEADER_OUT选项可以拿到请求头信息 curl_setopt($curl, CURLINFO_HEADER_OUT, true); //执行命令 $data = curl_exec($curl); // 打印请求头信息 // echo curl_getinfo($curl, CURLINFO_HEADER_OUT); //关闭URL请求 curl_close($curl); //显示获得的数据 return $data; }
註:呼叫後可以透過json_decode來解析回傳結果:
如: $data= $this- >curl_file_post_contents($dataurl, $post_data);
$dataarr = json_decode($data, true);
相關推薦:
以上是php存取url的兩種方法範例(get和post程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!