Я немного новичок в PHP, однако раньше я использовал JSP (у меня достаточно информации), и с классами Java все было проще.Итак, теперь я хочу выполнить запрос POST на странице HTTPS (не HTTP), и мне нужно получить возвращенные файлы cookie и передать их другому запросу GET и вернуть окончательный результат.Цель состоит в том, чтобы сделать тяжелую страницу для мобильных телефонов более совместимой для просмотра в мобильном браузере, минуя страницу входа в систему и непосредственно переходя на страницы, которые также обслуживаются в пользовательском интерфейсе ajax.Я застрял, мой код не работает, он говорит, что это неверный запрос.
Неправильный запрос
Ваш браузер отправил запрос, который этот сервер не может понять.Причина: вы говорите обычным HTTP с портом сервера с поддержкой SSL.Вместо этого используйте схему HTTPS для доступа к этому URL, пожалуйста.
<?php
$content = '';
$flag = false;
$post_query = 'SOME QUERY'; // name-value pairs
$post_query = urlencode($post_query) . "\r\n";
$host = 'HOST';
$path = 'PATH';
$fp = fsockopen($host, '443');
if ($fp) {
fputs($fp, "POST $path HTTP/1.0\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Content-length: ". strlen($post_query) ."\r\n\r\n");
fputs($fp, $post_query);
while (!feof($fp)) {
$line = fgets($fp, 10240);
if ($flag) {
$content .= $line;
} else {
$headers .= $line;
if (strlen(trim($line)) == 0) {
$flag = true;
}
}
}
fclose($fp);
}
echo $headers;
echo $content;
?>