使用 PHP 的 cURL 库去抓取网页时,有时会遇到 HTTP 服务器需要进行身份验证的情况,这时候该怎么设置呢?
<?php
$url = "http://192.168.0.100:8080/JM-PLATFORM/sms/MobsetSendSMS/sysId/oa/mobileNum/{$mobile_phone}/message/{$message}";
$tmp = sys_get_temp_dir();
$cookieDump = tempnam($tmp, 'cookies');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//设置存放 Cookie 的文件
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieDump);
//设置 Http 身份验证的方法,这里有多个选项可以选择,可参考 php 手册
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
//设置 用户名和密码
curl_setopt($ch, CURLOPT_USERPWD,'User:Password');
$output = curl_exec($ch);
curl_close($ch);
echo $output;
?>
原文链接:http://woqilin.blogspot.com/2014/01/php-curlinit-http.html
相关推荐
在这个示例代码中,我们使用 curl_init() 函数初始化一个 cURL 会话,然后使用 curl_setopt() 函数设置请求选项,接着使用 curl_exec() 函数执行请求,最后使用 curl_close() 函数关闭 cURL 会话。 六、结论 本文...
在PHP中,`curl_init()`是用于初始化一个新的cURL会话的函数,它是cURL库的核心部分,允许我们与各种协议(如HTTP、FTP、SMTP等)进行交互。如果在代码中调用此函数时出现“undefined function”错误,意味着PHP没有...
5. **`CURLOPT_HTTPHEADER`**:设置 HTTP 头部。 6. **`CURLOPT_USERAGENT`**:设置 User-Agent 字段。 7. **`CURLOPT_COOKIE`**:设置 cookie。 8. **`CURLOPT_FOLLOWLOCATION`**:设置为 true 时,允许自动跟随...
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($curl); curl_close($curl); echo $data; ``` 5. **处理...
3. **高级功能**:`php_curl`支持多种HTTP方法(GET、POST、PUT等),可以设置HTTP头,进行POST数据提交,处理cookies,使用代理服务器,以及进行SSL连接。还可以通过设置选项实现自动重定向、超时控制、错误处理等...
在PHP中,我们可以使用`curl_init()`函数初始化一个cURL会话,`curl_setopt()`设置各种选项,如URL、请求类型、头部信息等,最后使用`curl_exec()`执行请求。对于文件上传或下载,我们可以利用`CURLOPT_READFUNCTION...
curl_setopt($curl_obj, CURLOPT_HTTPHEADER, array( "application/x-www-form-urlencoded; charset=utf-8", "Content-length: " . strlen($data) )); $rtn = curl_exec($curl_obj); if (!curl_errno($curl_obj))...
7. `curl_multi_`系列函数:这些函数用于处理多线程(或多进程)的cURL请求,如`curl_multi_init()`创建批处理句柄,`curl_multi_add_handle()`添加处理任务,`curl_multi_exec()`执行批处理,`curl_multi_remove_...
在PHP中,我们使用`curl_init()`函数创建一个新的cURL会话,然后使用`curl_setopt()`设置各种选项,最后用`curl_exec()`执行请求。 批量请求的关键在于`curl_multi_init()`函数,它可以创建一个批处理句柄,用于...
在PHP中,cURL提供了一系列的函数,如`curl_init()`、`curl_exec()`等,使得开发者能够方便地进行HTTP请求操作。 当你的PHP环境中没有预编译的cURL时,你需要手动安装它。以下是一步一步的安装教程: 1. **下载...
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); ``` 4. **处理重定向**: ```php curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); ``` 5. **设置代理**: ```php curl_setopt($curl, CURLOPT_...
在IT行业中,`curl_exec`是PHP中一个非常重要的函数,用于执行cURL会话,它允许开发者通过HTTP、HTTPS和其他协议与各种服务器进行通信。然而,有时在配置服务器时,可能会遇到`curl_exec`不可用的问题。本篇文章将...
此外,cURL 还提供了其他许多选项,如设置请求方法(`CURLOPT_CUSTOMREQUEST`)、自定义头信息(`CURLOPT_HTTPHEADER`)、超时时间(`CURLOPT_TIMEOUT`)等,可以根据实际需求灵活配置。 总的来说,PHP cURL 提供了...
在PHP开发中,cURL库是一个非常重要的工具,它允许开发者通过HTTP、HTTPS和其他协议与各种服务器进行交互。本文将详细讲解PHP中的cURL类及其常用方法,如何封装和使用,以及如何处理登录、获取Cookie、模拟提交数据...
2. **创建并配置cURL句柄**: 对于每个需要访问的URL,调用`curl_init()`初始化一个cURL句柄,并设置相应的选项。例如,`CURLOPT_RETURNTRANSFER`设置为1,意味着cURL将返回结果而不是直接输出;`CURLOPT_HEADER`设置...
curl是一个强大的命令行工具,常用于在终端中传输数据到服务器或者从服务器获取数据。 首先,我们需要理解什么是`definitionwir`,这可能是一个自定义的术语或者缩写,但在这个上下文中未提供明确的解释。通常情况...