簡體   English   中英

通過PHP和Cookies進行HTTPS發布請求

[英]HTTPS Post Request via PHP and Cookies

我對PHP還是有點陌生​​,但是我以前使用過JSP很多(我有很多信息),而Java類使一切變得更加容易。 因此,現在,我想在HTTPS頁面(而不是HTTP)上執行POST請求,並且需要獲取返回的cookie,並將其粘貼到另一個GET請求中並返回最終結果。 目的是通過繞過登錄頁面並直接進入也在ajax用戶界面中提供的頁面,使手機的較重頁面更適合在移動瀏覽器中查看。 我被困住了,我的代碼不起作用,它說是錯誤的請求。

錯誤的請求

您的瀏覽器發送了該服務器無法理解的請求。 原因:您正在對啟用SSL的服務器端口使用純HTTP。 請改用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;
?>

根據過去的經驗,我從未使用過PHP的內部函數(如fsocketopen()進行外部數據發布。 進行這些操作的最佳方法是使用CURL,它使開發更加輕松,並且功能強大,開發人員可以充分利用。

例如,查看以下功能http://php.net/curl_setopt

並查看帶有.JAR的URL,POST,POSTDATA和COOKIESFILES的文件,然后獲取該文件,然后檢索該文件,並可以使用file_get_contents()使用GET發送數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM