首页新闻找找看学习计划

php 使用curl时怎么增加一个auth的验证

0
悬赏园豆:10 [已解决问题] 解决于 2017-02-17 13:53
  • GET /snapshot?ext=[jpg|png]&compress=[0.1-1]&orient=[0|1|2|3] HTTP/1.1
  • Host:[服务端ip]
  • Auth:[验证串]
这个格式的
但是不知道auth使用curl哪个函数?
锦瑟_华年的主页 锦瑟_华年 | 初学一级 | 园豆:138
提问于:2017-02-17 10:55
< >
分享
最佳答案
1

试试下面的方法(来自 How to use basic authorization in PHP curl )

curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
收获园豆:10
dudu | 高人七级 |园豆:41305 | 2017-02-17 11:03
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, 'http://192.168.1.0:50005/status');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_USERPWD, "auth:auth");
$file_contents = curl_exec($ch);
curl_close($ch);
 
echo $file_contents;

他是一个auth的验证串 你说的好像不行 返回的是无效参数400

锦瑟_华年 | 园豆:138 (初学一级) | 2017-02-17 11:08

@锦瑟_华年: 

改为 curl_setopt($ch, CURLOPT_USERPWD, "auth"); 试试

dudu | 园豆:41305 (高人七级) | 2017-02-17 11:10

@dudu: 不行

$ch = curl_init(); $timeout = 5; curl_setopt ($ch, CURLOPT_URL, 'http://192.168.1.0:50005/status'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch, CURLOPT_USERPWD, "asdasdasdasd"); $file_contents = curl_exec($ch); curl_close($ch); echo $file_contents;

锦瑟_华年 | 园豆:138 (初学一级) | 2017-02-17 11:21

@锦瑟_华年: 

加上Bearer试试:

curl_setopt($ch, CURLOPT_USERPWD, "Bearer auth");
dudu | 园豆:41305 (高人七级) | 2017-02-17 11:21

@dudu: 一直返回的是无效参数  是不是格式上的错误 我在试试 

锦瑟_华年 | 园豆:138 (初学一级) | 2017-02-17 11:52

@锦瑟_华年: 试试

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: auth'));
dudu | 园豆:41305 (高人七级) | 2017-02-17 13:19

@dudu: curl_setopt($ch, CURLOPT_HTTPHEADER, array('auth: '.$res['auth']));

可以了  谢谢了

锦瑟_华年 | 园豆:138 (初学一级) | 2017-02-17 13:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册