将cURL请求转换为Guzzle
发布时间:2020-12-14 02:07:42 所属栏目:Linux 来源:网络整理
导读:我试图使用Guzzle而不是直接使用cURL来实现和HTTP请求.如何使用Guzzle进行相同类型的请求?或者我应该坚持使用cURL? $ch = curl_init();// Set the URLcurl_setopt($ch,CURLOPT_URL,$url);// don't verify SSL certificatecurl_setopt($ch,CURLOPT_SSL_VERI
我试图使用Guzzle而不是直接使用cURL来实现和HTTP请求.如何使用Guzzle进行相同类型的请求?或者我应该坚持使用cURL?
$ch = curl_init(); // Set the URL curl_setopt($ch,CURLOPT_URL,$url); // don't verify SSL certificate curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0); // Return the contents of the response as a string curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); // Follow redirects curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); // Set up authentication curl_setopt($ch,CURLOPT_HTTPAUTH,CURLAUTH_BASIC); curl_setopt($ch,CURLOPT_USERPWD,"$token:X"); 这是我有的方法.我一直遇到401 Unauthorized错误.我知道我有正确的证件.让我觉得我没有走上正轨的原因是Guzzle文档说明:当前只在使用cURL处理程序时支持auth,但是计划创建可以与任何HTTP处理程序一起使用的替换.但根据我的理解,Guzzle默认使用cURL. $guzzleData = [ 'auth' => [$token,'X'],'allow_redirects' => true,'verify' => false,]; $client = new GuzzleHttpClient(); $request = $client->get($url,$guzzleData); $response = $request->send(); 解决方法
这是解决方案:
$client = new GuzzleHttpClient(); $request = $client->get($url); $request->getCurlOptions()->set(CURLOPT_SSL_VERIFYHOST,false); $request->getCurlOptions()->set(CURLOPT_SSL_VERIFYPEER,false); $request->getCurlOptions()->set(CURLOPT_RETURNTRANSFER,true); $request->getCurlOptions()->set(CURLOPT_FOLLOWLOCATION,true); $request->getCurlOptions()->set(CURLOPT_HTTPAUTH,CURLAUTH_BASIC); $request->getCurlOptions()->set(CURLOPT_USERPWD,"$token:X"); $response = $request->send(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux – 如何使用历史记录实用程序复制以前输入的命令而不
- 物理机异常断电,linux虚拟机系统磁盘mount失败,导致无法启
- linux – 类似unix的操作系统主机有多少个用户帐户?
- linux – RHEL 4可以使用两个不同的配置文件运行两个apache
- 在linux中使用python创建一个像pstree命令的进程树
- 【转】Linux杀死fork产生的子进程的僵尸进程defunct
- 如何更改Linux服务启动/启动顺序?
- Linux qos:tc DRR qdisc不起作用
- Yum 命令出现[Errno 256] No more mirrors to try错误的解决
- 如何在linux内核中使用另一个c文件中的变量?