curl函數
function search($url,$curlPost){
$cookiejar = realpath ( 'cookie.txt' );
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url);
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $curlPost );
curl_setopt ( $ch, CURLOPT_COOKIEJAR, $cookiejar ); // 要回傳cookie
$data=curl_exec ( $ch );
curl_close ( $ch );
return $data;
}
?>
我想用PHP實現外網機器通過我的電腦訪問內網的資源,一張是我在內網登入內網的網站的資料互動,另一張是通過我的PHP檔案用curl函數訪問時的,它提示少了什麼檔案。請問有人知道怎麼解決嗎 Curl PHP
分享到:
------解決方案--------------------
iframe的機制是
1、瀏覽器擷取攜帶iframe元素的頁面
2、瀏覽器渲染頁面
3、瀏覽器檢測iframe元素
4、瀏覽器重新請求iframe包含的頁面內容
5、渲染iframe包含的頁面
對應你這裡就是
1、瀏覽器發起請求login!checkLogin.action
2、渲染頁面
3、檢測到iframe元素(例如包含header.html的iframe)
4、瀏覽器重新請求header.html
5、渲染header.html頁面
現在你的請情況是這樣
1、瀏覽器對你的主機請求,你的主機請求內網login!checkLogin.action
2、瀏覽器渲染頁面
3、檢測到iframe元素
4、瀏覽器對你請求header.html,你那裡來的header.html?
那麼處理方案就是
1、瀏覽器對你的主機請求,你的主機請求內網login!checkLogin.action,同時修改iframe中src由原來的header.html 改為 代理.php?page=headerl.html
2、瀏覽渲染頁面
3、檢測到iframe
4、對你的主機發起請求 代理.php?page=header.html, 代理.php去內網擷取html內容返回
5、渲染header.html頁面的實際內容