php curl获取远程链接的图片和cookie

	    $url='www.baidu.com/img';
	    $web_url='www.baidu.com'
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
		$header = [
			'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
			'Accept-Encoding: gzip, deflate, br',
			'Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
			'Cache-Control: no-cache',
			'Connection: keep-alive',
			'Cookie: checkCode=ea2d2ec1-4e3f-4c70-9ac0-c4e202a097ac',
			'Host: '.$web_url,
			'Pragma: no-cache',
			'TE: Trailers',
			'Upgrade-Insecure-Requests: 1',
			'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0',
		];
		curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
		curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate, br');
		curl_setopt($ch, CURLOPT_AUTOREFERER, true); 
		curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11'); 
		//写cookie
		curl_setopt($ch, CURLOPT_URL,$url); 
		curl_setopt($ch, CURLOPT_TIMEOUT, 3);//超过3秒不处理
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 设置获取的信息以文件流的形式返回,而不是直接输出。

		curl_setopt($ch, CURLOPT_COOKIEJAR,'cookie.txt');
		curl_setopt($ch, CURLOPT_COOKIEFILE,'cookie.txt');   

		$file = curl_exec($ch);
		file_put_contents('yzm.png',$file);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!针对您的问题,您可以在使用 PHPcURL 库发送请求时设置 `CURLOPT_COOKIEJAR` 选项来保存服务器返回的 cookie,然后在后续的请求中使用 `CURLOPT_COOKIEFILE` 选项来发送该 cookie。以下是一个简单的示例代码: ```php $url = 'http://example.com/login'; $ch = curl_init($url); // 设置请求选项 curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, ['username' => 'your_username', 'password' => 'your_password']); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设置保存 cookie 的文件路径 $cookie_file = tempnam(sys_get_temp_dir(), 'curl_cookie'); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); // 发送登录请求 $response = curl_exec($ch); // 关闭 cURL 句柄 curl_close($ch); // 发送带有 cookie 的请求 $url = 'http://example.com/profile'; $ch = curl_init($url); // 设置请求选项 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设置发送 cookie 的文件路径 curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); // 发送请求 $response = curl_exec($ch); // 关闭 cURL 句柄 curl_close($ch); ``` 当您运行上述代码时,它会向 `http://example.com/login` 发送一个带有用户名和密码的 POST 请求来登录,然后将服务器返回的 cookie 保存到一个临时文件中。接下来,它会向 `http://example.com/profile` 发送一个 GET 请求,并使用前面保存的 cookie 来进行身份验证。您可以根据实际情况修改代码中的请求地址和其他选项。希望这可以帮助您!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值