PHP Curl результат доставляет проблемы?

Я работаю с NCBI Blast API. Я создал логику, чтобы получить результат в формате XML, но результат приходит в формате HTML, и этот результат снова возвращается к перенаправлению для отображения в формате XML. когда я проверяю оригинальный URL в браузере, он показывает прямые данные XML. Может ли кто-нибудь дать мне решения.
Посетите этот URL, чтобы найти мою проблему peerscientist.net. Это код.

введите описание изображения здесь

class BlastAPI{

public function blastdata(){

$url = "https://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=Put&QUERY=SSWWAHVEMGPPDPILGVTEAYKRDTNSKK&PROGRAM=blastp&FILTER=L&DATABASE=nr&FORMAT_TYPE=XML";
$ncontent = $this->rid($url);
echo '<br/>RID :'.$ncontent.'<br/>';
$geturl = $this->geturl($ncontent);
echo $geturl;
$fulldata = $this->getfullData($geturl);
if($fulldata != ''){
echo '<pre>';
var_dump($fulldata);
echo '</pre>';
}else{
echo "Code Once";
}
}

public function rid($url){

$surl = $url;
echo $surl;
//header('Content-type: text/html');
$content = file_get_contents($surl);
$doc = new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHtml($content);
libxml_use_internal_errors(false);

$data = $doc->getElementById("rid");
$rid = $data->getAttribute('value');

return $rid;
}
public function geturl($rid){
$srid = $rid;
$mainurl = "https://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=Get&RID=$srid&FORMAT_TYPE=XML&DESCRIPTIONS=200&ALIGNMENTS=200&NOHEADER=true";
return $mainurl;
}
public function getfullData($url){
$murl = $url;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $murl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$str = curl_exec($curl);
curl_close($curl);
if ($str === FALSE) {

echo "cURL Error: " . curl_error($curl);

}
return $str;
}
}
$nblast = new BlastAPI();
$nblast->blastdata();

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector