1. php curl的几种用法
总结一下项目中用到curl的几种方式 1. php curl的默认调用方法,get方式访问url $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //设置http头 curl_setopt($ch, CURLOPT_ENCODING, "gzip" ); //设置为客户端支持gzip压缩 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30 ); //设置连接等待时间 curl_setopt($ch, CURLOPT_URL, $url ); curl_exec( $ch ); if ($error = curl_error($ch) ) {//出错处理return -1;}fclose($fp); $curl_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //获取http返回值 if( $curl_code == 200 ) { //正常访问url}//异常 2. 设置http header支持curl访问lighttpd服务器Java代码$header[]= 'Expect:'; $header[]= 'Expect:'; 3. 设置curl,只获取http header,不获取body:Java代码curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_NOBODY, 1); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_NOBODY, 1); 或者只获取body:Java代码curl_setopt($ch, CURLOPT_HEADER, 0); // make sure we get the body curl_setopt($ch, CURLOPT_NOBODY, 0); curl_setopt($ch, CURLOPT_HEADER, 0); // make sure we get the body curl_setopt($ch, CURLOPT_NOBODY, 0); 4. 访问虚拟主机,需设置Host $header[]= 'Host: '.$host; 5. 使用post, put, delete等REStful方式访问urlpost:curl_setopt($ch, CURLOPT_POST, 1 ); put, delete: curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE"); //或者PUT,需要服务器支持这些方法。6. 保存下载内容为文件
2. php怎样用curl发送post请求
使用 PHP 中的 cURL 函数来发送 POST 请求是一种常见的网络数据交互方式。下面分步骤说明如何进行。
首先,初始化 cURL 会话,使用 `curl_init()` 函数。
设置请求方式为 POST,使用 `curl_setopt()` 函数,参数 `CURLOPT_POST`。
要发送 POST 数据,使用 `curl_setopt()` 函数设置 `CURLOPT_POSTFIELDS` 参数,提供要发送的数据。
设置请求头。例如,添加自定义头,使用 `curl_setopt()` 函数,参数 `CURLOPT_HTTPHEADER`。
要添加带有用户名和密码的 Authorization 请求头,首先需要进行 Base64 编码。示例如下:
设置代理服务器,使用 `curl_setopt()` 函数,参数 `CURLOPT_PROXY`。
为了将响应内容保存到变量,而非直接输出,使用 `curl_setopt()` 函数设置 `CURLOPT_RETURNTRANSFER` 参数为 true。
关闭请求,使用 `curl_exec()` 函数执行 cURL 会话,随后使用 `curl_close()` 关闭会话。
执行简单 GET 请求与 POST 请求的步骤类似,只需调整 `CURLOPT_POST` 参数。
获取响应头信息,使用 `curl_getinfo()` 函数,参数为 `curlINFO_HEADER_OUT`。
若请求导致重定向,`curl_getinfo()` 函数返回的 `curlINFO_REDIRECT_URL` 参数将提供重定向后的地址。
要获取 Set-Cookie 信息,执行请求后,可以将 `curl_exec()` 的结果存入变量,然后解析响应头或使用 `curl_getinfo()` 的 `curlINFO_COOKIELIST` 参数。
总结,通过以上步骤,可以灵活地利用 PHP cURL 函数实现 POST 请求,包括设置请求参数、头信息、代理、获取响应内容等操作,适用于多种网络交互场景。