我需要帮助使用PHP将Postman的成功请求转换为CURL命令(涉及HTTPS和POST)

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了我需要帮助使用PHP将Postman的成功请求转换为CURL命令(涉及HTTPS和POST)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试访问的端点需要HTTPS和基本身份验证.我的团队获得了一个API密钥,文档说明使用密钥作为用户名,并将密码留空.

以下是文档中的示例CURL请求:

curl -i -k -u '<api_key>': -xpOST --data-urlencode data@/path/to/test/file.JSON "https://<your_subdomain>.vendor.org/api/v1/assessments/import"; echo ""

当我使用Chrome的Postman扩展程序执行以下操作时,我从服务器获得了成功的响应:

我正在尝试使用PHP(XamPP安装)在本地执行此操作.以下是服务器的响应,说用户名/密码不正确:

function curlPost($url,$headers,$username,$password,$data) {
	$ch = curl_init();
	curl_setopt($ch,CURLOPT_URL,$url);
	curl_setopt($ch,CURLOPT_CAINFO,'certificate.PEm');
	curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true);
	curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);
	curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
	curl_setopt($ch,CURLOPT_HEADER,CURLOPT_USERPWD,$username . ":" . $password);
	curl_setopt($ch,CURLOPT_TIMEOUT,30);
	curl_setopt($ch,CURLOPT_POST,CURLOPT_POSTFIELDS,$data);
	curl_setopt($ch,CURLOPT_RETURNtransfer,TRUE);
	PRint_r(curl_exec($ch));
	// print_r(curl_getinfo($ch));
	// print_r(curl_error($ch));
	curl_close($ch);
}

$data = '{"key":"value","key":"value"}';
curlPost('https://domain.COM/api/data',['Content-type: application/XMl'],'api_key','',$data);
{"success":false,"errors":["Email\/Username or password incorrect. Please try again."],"warnings":[],"info":[],"Meta":[],"results":[]}

$data中使用的JSON字符串是从成功的Postman请求中复制并粘贴的.

certificate.pem与脚本位于同一文件夹中,并且已向每个人提供读/写权限.我已经尝试从我的机​​器导出我们供应商网站的特定证书以及在this post的最高响应中链接的CA捆绑包.我能够使用它通过PHP / CURL成功访问供应商的api-key-test端点.

我对此很陌生.你介意帮助我绕过我所缺少的东西吗?虽然我已经复制并粘贴了很多,但功能基本上都是我自己的.标题的参数将用于其他内容.

解决方法

使用HTTP Authorization标头的基本身份验证使用Base64编码的值“username:password”(不带双引号)

所以我假设您需要Base64编码“yourApiKeyValue:”并将其放入cURL命令的Authorization标头中

MDN reference – HTTP Authentication

编辑:这也可能有所帮助

How do I make a request using http basic authentication-with-php-curl

脚本宝典总结

以上是脚本宝典为你收集整理的我需要帮助使用PHP将Postman的成功请求转换为CURL命令(涉及HTTPS和POST)全部内容,希望文章能够帮你解决我需要帮助使用PHP将Postman的成功请求转换为CURL命令(涉及HTTPS和POST)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。