【发布时间】:2015-09-21 11:40:02
【问题描述】:
我有可以使用身份验证将 JSON 发布到 API 的代码。我需要使用身份验证 GET,但大多数示例不提供此信息。
发布
public function putTest() {
$username = "user";
$password = "pass";
$json_url = "http://api.of.site.com";
$json_string = "[]";
$ch = curl_init( $json_url );
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => "{$username}:{$password}",
CURLOPT_HTTPHEADER => array( "Content-type: application/json" ),
CURLOPT_POSTFIELDS => $json_string
);
curl_setopt_array( $ch, $options );
$result = curl_exec( $ch );
}
GET(不工作)
public function getTest() {
$username = "user";
$password = "pass";
$json_url = "http://api.of.site.com";
$ch = curl_init( $json_url );
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => "{$username}:{$password}",
CURLOPT_HTTPHEADER => array( "Content-type: application/json" ),
);
curl_setopt_array( $ch, $options );
$result = curl_exec( $ch );
}
我的 GET 中缺少什么?我也想保持这种风格而不是使用curl_setopt
编辑: 作为参考,这是可用的命令行版本
curl -X GET -H "Content-Type: application/json" -H "Accept: application/json" -u "username:pass" "http://api.site.name.com/thingtoget"
【问题讨论】: