Мне было интересно, может ли кто-нибудь помочь мне понять, как я получу JSON, используя эту информацию? Должен ли я использовать cURL или fsockopen?
GET /market/10000002/orders/buy/?type=https://api-sisi.testeveonline.com/types/683/ HTTP/1.1
Host: https://api-sisi.testeveonline.com
Авторизация: Носитель jKVB8oaN9qboU5kQG4sWSoWxzSUaFkQaUyeisy8jWU3apRfYSgYsKpZGNbLh41xXEzuy-NDBX1FohEdEadaukQ2
Принять: application / vnd.ccp.eve.MarketOrderCollection-v1 + json
Я пытался сделать это, но я понятия не имею, является ли это реальным способом сделать это?
$fp = fsockopen("api.eveonline.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET /market/10000002/orders/buy/? type=https://api.eveonline.com/types/683/ HTTP/1.1\r\n";
$out .= "Host: https://api.eveonline.com\r\n";
$out .= "Authorization: Bearer ".auth."\r\n\r\n";
$out .= "Accept: application/vnd.ccp.eve.MarketOrderCollection-v1+json\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
Спасибо
РЕДАКТИРОВАТЬ 1:
$opts = array('http' =>
array(
'method' => 'GET',
'header' => "Host: https://api.eveonline.com\r\n".
"Authorization: Bearer ".auth."\r\n".
"Accept: application/vnd.ccp.eve.MarketOrderCollection-v1+json\r\n")
);
$context = stream_context_create($opts);
$url = 'https://api.eveonline.com/';
$result = file_get_contents($url, false, $context);
Это была моя следующая попытка, над которой я все еще работаю.
fsockopen на самом деле не является хорошим вариантом для HTTP-запросов, поскольку вы должны позаботиться обо всем самостоятельно (например, сжатие, разбиение на фрагменты и т. д.). завивать конечно это вариант, но мой любимый просто file_get_contents
. Тебе нужно иметь allow_url_fopen
установлен в On
в конфиге, но это не совсем угроза безопасности, а сама функция очень способна.
Других решений пока нет …