Я создал простой php пример получения запросов из Excel, но когда я возвращаю данные, Excel сообщает, что невозможно подключиться. Мой ответ сервера представляет собой простой текст html, мой сниффер показывает запрос и ответ.
В Excel go для вкладки «Данные» и выберите опцию From Web, введите URL-адрес моего сервера и нажмите кнопку Ok, теперь Excel запрашивает кредитные данные, после ввода учетных данных и нажатия кнопки подключения, Excel says: Unable to connect
, но мой ответ на показ сниффера в порядке.
Ответ Excel:
My simple php code:
<?php
//Get All headers
$headers = getallheaders();
//Simple html
$response = file_get_contents('./html.txt');
//Checks if authorization key exists
if( isset( $headers["Authorization"] ) ) {
//Encode with gzip
$content = gzencode( trim( preg_replace( '/\s+/', ' ', $response ) ), 9);
//My user example (Only for test)
$default_user = "my_user";
$default_pass = "my_pass";
//Get user and password
list( $user, $pass ) = explode( ':', base64_decode( substr( $headers['Authorization'], 6 ) ) );
//Check if equals
if( $user == $default_user && $pass == $default_pass ) {
//User and Password OK
//Set content encoding
header('Content-Encoding: gzip');
//Type response and encoding
header('Content-Type: text/html; charset=utf-8');
//Content length
header( 'Content-Length: ' . strlen( $content ) );
//Show content
echo $content;
//Set http status 200 Ok
http_response_code( 200 );
return;
}else {
//User or pass not equals
header('HTTP/1.1 401 Unauthorized'); exit();
}
}else {
//Authorization key is not set
header('HTTP/1.1 401 Unauthorized'); exit;
}
Все запрос и обработка на сервере правильные, за исключением возврата, Excel требует чего-то большего, и я не знаю, что это такое.
Есть идеи, как я могу решить эту ошибку?
Спасибо .